数制与数制间的转换

数制

  • 基数 :可用数码的个数,数码为 。
  • 第 位的位权为 ;满 进 1,借 1 当 。
数制基数数码常用标记
二进制(Binary)20、1B 或下标
八进制(Octal)80~7Q 或下标
十进制(Decimal)100~9D 或下标
十六进制(Hexadecimal)1609、AFH、0x 或下标

二进制数

  • MSB(Most Significant Bit):最高有效位,权值最大。
  • LSB(Least Significant Bit):最低有效位,权值最小。
传输方式特点
串行传输逐位传送,数据线少;需约定 MSB 或 LSB 先发送
并行传输各位同时传送,速度快;数据线和收发电路较多

补充:
高速数据传输一般用串行。并行线路多,而且高速时容易出现不同线路信号到达时间不一致(“时延偏斜”)。

数制转换

转换方法

  • 进制转十进制:按权展开。
  • 十进制整数转 进制:除基取余,逆序读。
  • 十进制小数转 进制:乘基取整,顺序读。

例:

小数部分若不能乘到 0,只能取近似值:

二进制、八进制与十六进制

转换方法

  • 二进制与八进制:三位 B 对应一位 O。
  • 二进制与十六进制:四位 B 对应一位 H。
  • 八进制与十六进制:通过先转换为二进制再转换
  • 以小数点为界分组,不足时在远离小数点的一侧补 0。

例:


算术运算

无符号二进制数

略

固定位宽与溢出

位无符号数的范围为

电路只保留最低 位(尾款):

溢出=取模

超出 位位宽的溢出相当于对 取模


计算机中数的表示方法

原码

原码最高位表示符号,其余位表示绝对值:

补码

正+用0,负-用1

  • 原码有正零 、负零 。
  • 同号相加,异号比较绝对值后相减,运算器实现复杂

补码

若 ,则 、 以 为模互补:

对 位二进制系统,。减法可转化为加上减数的补码

补码

负数变换规则:符号位不变,数值位取反 (得到1111),再在最低位加 1。

例: ,。

  • 补码只有一个零

补码加减

反码

  • 正数反码与原码相同。

  • 负数反码:原码的数值位逐位取反,符号位不变

  • 反码有正零、负零:,。

  • 反码的运算

    • 符号位和数值位一起参加运算。
    • 若符号位产生进位,应把该进位加回最低位,循环进位

原码、反码与补码

项目原码反码补码
正数与真值二进制相同与原码相同与原码相同
负数符号位为 1,数值位为绝对值原码数值位取反原码数值位取反再加 1
零的数量221
位最小值
加法需判断符号循环进位直接按二进制相加

位宽

位宽无符号数补码有符号数
8 位
16 位
  • 同一比特模式可有不同解释: 作为 32 位无符号数为 ,作为补码有符号数为 。

计算机中的码

定点数与浮点数

  • 定点数(Fixed Point):小数点位置固定,且不占存储位。

    • 定点纯整数:小数点隐含在最低位右侧。
    • 定点纯小数:小数点隐含在最高数值位左侧。
  • 浮点数(Floating Point):

- 阶码 $p$ 决定数值范围。
- 尾数 $x$ 的位数决定有效精度。

BCD 码

若要表示 种信息,所需二进制位数 满足

BCD(Binary-Coded Decimal):用四位二进制代码表示一位十进制数字字符。

十进制数8421 码2421 码余 3 码余 3 循环码
00000000000110010
10001000101000110
20010001001010111
30011001101100101
40100010001110100
50101101110001100
60110110010011101
70111110110101111
81000111010111110
91001111111001010
  • 8421、2421 码是有权码。
  • 余 3 码、余 3 循环码是无权码。
  • 位十进制数的 BCD 占 位。

8421 BCD 加法

每一位十进制数单独相加,先按普通二进制加。

8421 BCD 中,只有 表示十进制 。

若相加结果超过 ,或有进位,就加 ;产生的进位传给高一位。

格雷码

  • 无权码。
  • 相邻代码只有一位不同,适合模拟量转换。
  • 不能直接进行算术运算。

字符编码

  • ASCII:表示英文字母、数字、标点和控制字符;标准 ASCII 使用 7 位,共 128 个码位。
  • Unicode:为字符分配统一码点。
  • UTF-8:把 Unicode 码点编码为 1~4 个字节;ASCII 字符的 UTF-8 编码与 ASCII 相同。

检错码与纠错码

  • 码重 :码字 中 1 的个数。
  • 码距 :两个码字对应位置不同的个数。
  • 最小码距 :任意两个有效码字之间的最小距离。

最小码距的检错、纠错能力

能力原理最小码距条件
检错 位若错误不超过 位,就不能把 直接变成 ,所以要有 。
纠错 位每个有效码字周围半径 的纠错区域不能重叠,故 。
纠错 位并检错 位,至多 位错误不能落入另一个码字半径 的纠错区域,故

奇偶校验码

奇偶校验码由信息位和一个校验位(表示奇偶校验)组成:

  • 偶校验:使码字中 1 的总数为偶数;
  • 奇校验:使码字中 1 的总数为奇数。

奇偶校验的能力

奇偶校验的 。它能发现任意奇数个位翻转,不能发现偶数个位翻转;只能检错,不能定位或纠错。

五中取二码

五中取二码的每个有效码字有 5 位,且恰好两位为 1:

有效码字总数为,恰好可映射到十进制的 0~9。

海明码

纠错码

略