在日常生活中一般采用进位计数法。在进位计数法中,每个数位所用到的不同数码的个数称为基数。十进制的基数为10(0-9)。
进制间的不同转换
2进制转换为8进制,16进制,可以每3位,4位去直接对应8进制,16进制去转换,可以根据情况在整数前面补0和在小数后面补0.因为,
。同样的8进制,16进制也可以转换为2进制,将每位转换成3位或者4位,适当的消除多余的0即可。
不同的进制转换成10进制,可以在对应数码和权值相乘,之后累加即可。
十进制转换为任意进制,采用基数乘除法。整数部分用除法,小数部分用乘法,乘积为1.0(或满足精度要求)时结束。
在机器中一般用“0”表示正,用"1"表示负。
BCD码。二进制编码的十进制数通常采用4位二进制来表示一位10进制中的0-9这个10个数码。但4位2进制有16种情况,所以有6种冗余状态
此时列举了三种BCD码
1> 8421码
是一个有权码,若两个8421码相加之和小于等于(1001)2进制,(9)10进制,则不需要修正;若相加之和大于定于(1010)2进制,(10)10进制,则要加6修正,所以8421码不会出现1010-1111。
2> 余3码
是一个无权码,是在8421码的基础上加(0011)2进制形成的。
3> 2421码
是一种有权码,权值有高到低为2,4,2,1特点是大于等于5的4位二进制数中的最高位为1,小于5的最高位为0.所以5位1011而非0101。
因为机器只能用二进制,所以字符和汉字怎么表示呢?
国际上用7位2进制表示字符,称作ASCII码。
汉字用2字节去表示,汉字编码包括汉字的输入编码,汉字内码,汉字字形码。
国际码是将10进制的区位码转换为16进制数后,在每个字节上加20H。国际码两个字节的最高位都是0,ASCII码的最高位也是0,将国际码两个字节的最高位都改为1,这就是汉字内码。
区位码和国标码都是输入码。
字符串是一串连续的字符构成,那么先存储低位字节,后存储高位字节的顺序,称为小端模式,反过来为大端模式。
校验码
因为信息在发送的时候,可能由于物理因素导致信息的错误,所以这里有一些方法验证。
任意两个合法码字之间对应位上数字的不同位个数,称为数据校检码的码距。码距不小于2的数据校检码,开始具有检错能力
1> 奇偶校验码
由若干有效信息为加上一个二进制位组成校验码。
注意,奇偶验码只能发现数据中奇数位的出错情况,但不能纠错。
2> 海明(汉明)校验码
n为有效信息位数,k为校验码
,之后要会推导过程。
能发现两位错误并纠正1位
3> 循环冗余校验码
里面用到了模2除法。
常用在大量数据传送过程中,能发现并纠错一位或者多位