数制转换
十进制或者二进制在此就不再多说。简单说一下两个进制之间的转化。
十进制转化为二进制:
采用乘基取整法,最后注意不要将结果次序写错了。
将十进制转化为二进制小数:
不同于将余数倒过来,二进制小数相反直接得到。
第一次乘2大于等于1的话,说明小数部分是大于等于0.5的,因此二进制小数部分第一位取1;第二次乘2小于1,说明余下的小数小于0.25,因此二进制小数部分第二位取0;其余位置同理。
数码和字符的编码
1.BCD编码
在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用4位二进制数表示1位十进制数的方法,这种用于表示十进制数的二进制代码称为二-十进制代码(Binary Coded Decimal),简称为BCD码。
也就是在实际应用中虽然我们有四位二进制,但是我们只使用其中的10种情况表示0-9。
有权码
在BCD码中,若 4位二进制一组中的每位都有固定权值,则称为有权码(Weighted Code),如8421码、2421 码(各位的权重分别是2,4,2,1)、5421码是有权码。余3码是无权码。
8421码:对应二进制各位的权重分别是8,4,2,1,也就是实际的二进制
例如:
无权码
余3码:就是将数字加3之后得到的二进制表示。例如:
2.可靠性编码
为了避免编码在传输或者计算过程中出错,常用一些特殊的编码方式使其能够避免错,或者一旦出错可以通过某种方式被检查出来。
格雷码
格雷码(Gray)的编码规则是任何相邻的两个码字中,仅有一位不同,其他位则相同,如表 1-2所示。
格雷码可以用在计数器中,当从某一编码变到下一个相邻编码时,只有位的状态发生变化,这有利于提高系统的工作速度和可靠性。很显然,格雷码中的每一位都没有固定的权值,是无权码。
奇偶校验码
奇偶校验码是为检查数据传输是否出错设置的,在每组数据信息上附加一位奇偶校验位,若采用奇校验方式,则使包括校验码在内的数据含有奇数个“1”;而偶校验方式则使包括校验码在内的数含有偶数个“1”。
例如字母“B”的7位ASCII码为1000010,在最高位增加一位奇偶校验位。若采用其奇校验,则为11000010;若采用偶校验,则为01000010。
奇偶校验码可发现奇数个错误,但不能发现偶数个错误。当发现奇数个错误时,由于不
知道是哪些位出错,所以奇偶校验码没有纠错能力。
3.字符编码
最常见的字符代码就是ASCII码,每个字符用七位二进制表示。
记住一些常见的开头,比如30对应0,65对应a,97对应A,那么其他数字字母可以通过推断出来。