一、数值数据的编码

(1)补码概念的引入

  • 无模运算
  • 有模运算
    • 假定M为模,若数a,b满足a+b=M,则称a,b互为补数。
    • 在有模运算中,减一个数等于加上这个数对模的补数。
image-20210802223300585

(2)补码的定义

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

image-20210802224259793

纯小数模为2:

image-20210802225956834 image-20210802224555498

纯整数模为2^n:

image-20210802225501053 image-20210802225542535

(3)补码的性质

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

二、数据的定点与浮点表示

2.浮点数表示

1)浮点数的表示方法image-20210804224641872

浮点数表示的数值为:image-20210804224749643

B:阶码的底,一般为2、4、8或16;

规格化的浮点数:若用补码表示尾数,如果阶码的底为2,则尾数应满足 1/2 <= M < 1 或 1 <= M < -1/2,0.1xx…x;如果符号位和最高数值位不同则为规则化尾数,相同则不是。

2)规格化的浮点数

左规:image-20210804230310461

右规:image-20210804230330523

image-20210804231123083

浮点数在数轴上的分布:

image-20210804231339079 image-20210804231455018 image-20210805232401740

image-20210807213416033

3.IEEE 754标准

image-20210807214848789

image-20210807220020208

IEEE 754单精度格式二进制位与其对应的浮点数真值举例:

image-20210807220554036

image-20210807220650621

image-20210807221011255

image-20210807220725865

正无穷+负无穷返回一个非数

image-20210807221454503

下溢的处理:渐进下溢

image-20210807222500440

舍入模式:

  • 就近舍入——舍入到最接近的可表示值;当有两个最接近的可表示值时,首先“偶数”值。image-20210807222633099
  • 朝0舍入
  • 朝正/负无穷大舍入

image-20210807223551669

三、二进制编码的十进制数:BCD码

Binary-Coded Decimal, BCD

(1)十进制有权码:4位有权BCD码

逢九互补,逢十进一

image-20210807225232969

(2)十进制无权码:4位无权BCD码

image-20210807225412915

非数值数据的编码

1.ASCII字符编码

  • 33个控制字符
  • 0~9:30H加上数字值
  • 52个英文字母(大写字母:40H加上字母顺序;小写字母:60H加上字母顺序)
  • 32个特殊字符(例如# @)
  • 空格符号:20H

2.汉字编码

汉字的输入编码:拼音,字形

GBK:

image-20210807231211945 image-20210807231547567

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

检错与纠错码

一、奇偶校验码

image-20210807232028413image-20210807232047934

二、循环冗余校验码

三、海明码