2.1 数值与编码


2.1.1 进位计数制度及其相互转化

为什么选取二进制:方便对应物理状态,如高电平、低电平

  1. 进位计数法
  2. 不同进制数之间的相互转换
    1. 二进制转化为八进制和十六进制
    2. 任意进制转化为十进制
    3. 十进制转化为任意进制
      • 除基取余法(整数部分的转换)
      • 乘积取整法(小数部分的转换)

2.1.2 真值和机器数

带有“+”和“-”的数称为真值
用“0”表示正,“1”表示负,这种符号“数字化”称为机器数

2.1.3 BCD码

二进制编码的十进制数

  1. 8421码
    如果两个8421码相加之和小于或等于(1001)2,即(9)10,则不需要修正;如果相加大于或等于(1001)2,即(10)10,则需要加6,即(0110)8421
  2. 余3码
    是一种无权码,在8421码上加(0011)2形成的
  3. 2421码
    和8421码类似
    特点是大于等于5的4位二进制中最高位为1,小于等于5的最高位为0。

2.1.4 字符与字符串

字符编码ASCII码

汉字表示和编码

字符串的存放

小端模式:先存储低位字节、后存储高位字节
大端模式:先存储高位字节、后存储低位字节
大端顺着写,小端逆着写

2.1.5 校验码

任意两个合法码字之间最少变化的二进制位数(两个合法码字对应位数上数字的不同位的个数),称为数据校验码的码距

1. 奇偶校验码

奇校验:整个校验码(有效信息位和校验位)中“1”的个数位为奇数
偶校验:整个校验码(有效信息位和校验位)中“1”的个数位为偶数

2.海明校验码

n + k <= 2^k - 1
n为有效信息的位数,k为校验位的位数

  1. 确定海明吗的位数
  2. 确定校验位的分布
  3. 分组,以形成校验的关系
  4. 校验位取值
  5. 海明码的校验原理

3.循环冗余校验(CRC)码

  1. 确定信息位、校验位以及生成项式对应的二进制码
  2. 移位
  3. 相除(模2除法),产生余数
  4. 检错和结错