1.数据的表示
1.1 定点数与浮点数
定点数:机器中所有数据的小数点位置固定不变,将小数点位置固定在数据的最高位之前成为定点小数,将小数点位置固定在最低位之后成为定点小数。当数据小于定点数能表示的最小值时,称为下溢;大于定点数能表示的最大值时称为上溢,两者统称为溢出。
浮点数:用科学计数法的形式表示,其中R称为基数,M称谓尾数,e称为阶码。
其在机器中的存储方式为:
浮点数运算过程:
①对阶
②尾数计算
③结果格式化
1.2 进制转换
任意进制转十进制:按权展开
十进制转任意进制:短除法
二进制转八进制与十六进制
| 10 001 110 | 1000 1110 |
| 2 1 6 | 8 E |
1.3 原码、反码与补码
正数:符号位为0,其原码=反码=补码
负数:符号位为1
原码符号位不变,其余位按位取反即为其反码
反码+1即为补码
表示范围:
2.校验码
2.1 循环冗余校验码CRC
模2除法与普通除法的区别:除法运算中的相减改为了按位异或
循环冗余校验码原理:利用生成多项式为k个数据位产生那个校验位来进行编码,编码长度为k+r,使得编码后的码可以用模2除法整除生成多项式。
例如:原始报文为“11001010101”,其生成多项式为:
对其进行CRC编码:
步骤1:生成多项式转换为二进制11011
步骤2:原始报文后补0,补的个数为生成多项式对应的二进制位数-1
步骤3:进行模2除法运算,并将最终的余数替换补的0的位置
步骤4:得到最终结果110010101010011,其中后四位0011为校验位
2.2 海明码
校验位的位数都为2的整数次幂。校验位数r与信息位数x满足以下关系:
如何确定校验位:
r2等于所有与2的平方项有关的位数对应的信息位相异或。