本文作于2022.1.22,用于本人加深印象
一、计算机中的编码
1.数值编码
①二进制码
②BCD码
BCD码(Binary Coded Decimal)为用二进制表示的十进制数
特点:保留十进制的权,数字用0和1表示。
8421BCD编码:用4位二进制码表示1位十进制数,每4位之间有一个空格(如10:0001 0000)
0000->0 0001->1 ... 1001->9(1010—1111是非法BCD码,只是合法的十六进制数)
BCD码与十进制和二进制数之间的转换
BCD码与十进制数之间存在直接对应关系
BCD码与二进制的转换为先转换为十进制数,再转换二进制数;反之同样。
(0001 0001 .0010 0101)BCD->11.25->(1011.01)B
注意十进制下小数点后转换为二进制的处理:小数点后实数每次乘2(可以理解成二进制左移一位 <<1=*2 )取出整数部分作为二进制表示的第1位,继续上述操作直到等于0
如0.25*2=0.5,取走第一位为0,第二位非0,继续0.5*2,第一位为1,第二位为0,结束。因此0.25->(0000.01)B
以压缩BCD码形式存放 | 以扩展BCD码形式存放 |
用4位二进制码表示1位BCD码 | 用8位二进制码表示1位BCD码.即高4位为0,低4位为有效位 |
一个存储单元中存放2位BCD数 | 每个存储单元存放1位BCD |
BCD码在计算机中的存储方式
2.西文字符编码
ASCII码
将每个字母、数字、标点、控制符用1Byte二进制码表示
其中:标准ASCII的有效位:7bit,最高位默认为0
ASCII码的奇偶校验
奇校验:加上校验位后编码中“1”的个数为奇数。
偶校验:加上校验位后编码中“1”的个数为偶数。
例:A的ASCII码为41H(01000001B)
以奇校验传送则为 C1H(11000001B)
以偶校验传送则为 41H(01000001B)