【软考】【计算机组成与结构】数据的表示与校验

1.数据的表示

 1.1 定点数与浮点数

  定点数:机器中所有数据的小数点位置固定不变,将小数点位置固定在数据的最高位之前成为定点小数,将小数点位置固定在最低位之后成为定点小数。当数据小于定点数能表示的最小值时,称为下溢;大于定点数能表示的最大值时称为上溢,两者统称为溢出。
  浮点数:用科学计数法的形式表示,其中R称为基数,M称谓尾数,e称为阶码。
  

N = M R e

  其在机器中的存储方式为:
   这里写图片描述
  浮点数运算过程:
    ①对阶
    ②尾数计算
    ③结果格式化

 1.2 进制转换

  任意进制转十进制:按权展开

( 10100.01 ) 2 = 1 2 4 + 0 2 3 + 1 2 2 + 0 2 1 + 0 2 0 + 0 2 1 + 1 2 2

( 604.01 ) 7 = 6 7 2 + 0 7 1 + 4 7 0 + 0 7 1 + 1 7 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”,其生成多项式为:

x 4 + x 3 + x + 1

  对其进行CRC编码:
   步骤1:生成多项式转换为二进制11011
   步骤2:原始报文后补0,补的个数为生成多项式对应的二进制位数-1
   步骤3:进行模2除法运算,并将最终的余数替换补的0的位置
   步骤4:得到最终结果110010101010011,其中后四位0011为校验位
这里写图片描述

 2.2 海明码

  校验位的位数都为2的整数次幂。校验位数r与信息位数x满足以下关系:

2 r x + r + 1

这里写图片描述
   如何确定校验位:
这里写图片描述
这里写图片描述
  r2等于所有与2的平方项有关的位数对应的信息位相异或。

猜你喜欢

转载自blog.csdn.net/hongtao_6/article/details/81626508
今日推荐