一、数值数据的编码
(1)补码概念的引入
- 无模运算
- 有模运算
- 假定M为模,若数a,b满足a+b=M,则称a,b互为补数。
- 在有模运算中,减一个数等于加上这个数对模的补数。

(2)补码的定义
设模为M,一个数X补码的一般定义为:[X]补 = M + X

纯小数模为2:


纯整数模为2^n:


(3)补码的性质
- 补码的符号位:最高位为“0”,此数为正;最高位为“1”,此数为负。
- 补码中0的表示唯一。
- 补码的表示范围:
- 负数的补码值大于正数的补码值。
- 相互转换:当X>=0时,不变;当X<0时,求补码为|X|的补码按位取反并末位加一;求真值时,把该负数的补码按位取反末位加一,求原码把 最后结果取相反数。

- 符号扩展位
二、数据的定点与浮点表示
2.浮点数表示
1)浮点数的表示方法
浮点数表示的数值为:
B:阶码的底,一般为2、4、8或16;
规格化的浮点数:若用补码表示尾数,如果阶码的底为2,则尾数应满足 1/2 <= M < 1 或 1 <= M < -1/2,0.1xx…x;如果符号位和最高数值位不同则为规则化尾数,相同则不是。
2)规格化的浮点数
左规:
右规:

浮点数在数轴上的分布:



3.IEEE 754标准
IEEE 754单精度格式二进制位与其对应的浮点数真值举例:
正无穷+负无穷返回一个非数

下溢的处理:渐进下溢
舍入模式:
- 就近舍入——舍入到最接近的可表示值;当有两个最接近的可表示值时,首先“偶数”值。
- 朝0舍入
- 朝正/负无穷大舍入
三、二进制编码的十进制数:BCD码
Binary-Coded Decimal, BCD
(1)十进制有权码:4位有权BCD码
逢九互补,逢十进一
(2)十进制无权码:4位无权BCD码
非数值数据的编码
1.ASCII字符编码
- 33个控制字符
- 0~9:30H加上数字值
- 52个英文字母(大写字母:40H加上字母顺序;小写字母:60H加上字母顺序)
- 32个特殊字符(例如# @)
- 空格符号:20H
2.汉字编码
汉字的输入编码:拼音,字形
GBK:


汉字的输出:点阵,矢量,曲线