当数值为正数时,原码 = 反码 = 补码。
当数值为负数时:
先求出其原码。
反码等于原码符号位不变,其余位取反。
补码等于反码加一(即反码的最后一位加一)。
移码等于补码符号位取反,常用作浮点运算中的阶码。
数值1 | 数值-1 | 1-1 | |
---|---|---|---|
原码 | 0000 0001 | 1000 0001 | 1000 0010 |
反码 | 0000 0001 | 1111 1110 | 1111 1111 |
补码 | 0000 0001 | 1111 1111 | 0000 0000 |
移码 | 0000 0001 | 0111 1111 | 1000 0000 |
下面是数值的表示范围:
特殊的补码:1000 0000 表示为十进制的-128。
-----------------------------------------------------------------------------------------------------
浮点数:
浮点数表示:
N = M*
M为尾数,e是指数,R为基数。
浮点数运算:对阶-->尾数计算-->结果格式化。
对阶:小阶向大阶对齐。
-----------------------------------------------------------------------------------------------------
8421码(有权码):即四位二进制的权值从高到低分别为8、4、2、1。
余3码(无权码):在8421码的基础上,把每个数的代码加上0011后构成的。
格雷码(无权码):相邻的两个代码之间只有一位不同。
十进制数 | 8421BCD码 | 余3BCD码 | 格雷码 |
---|---|---|---|
0 | 0000 | 0011 | 0000 |
1 | 0001 | 0100 | 0001 |
2 | 0010 | 0101 | 0011 |
3 | 0011 | 0110 | 0010 |
4 | 0100 | 0111 | 0110 |
5 | 0101 | 1000 | 1110 |
6 | 0110 | 1001 | 1010 |
7 | 0111 | 1010 | 1000 |
8 | 1000 | 1011 | 1100 |
9 | 1001 | 1100 | 0100 |
-----------------------------------------------------------------------------------------------------
国标码、机内码、区位码的关系:
国标码 = 区位码 + 2020H;
机内码 = 国标码 + 8080H;
运算规则如下:
1,区位码的前两位为区码、后两位为位码。
2,将区码和位码分别转换为十六进制;
3,十六进制的区位码 + 2020H = 国标码;
4,国标码 + 8080H = 机内码。
例题:“中”字的区位码为5448,求出其国标码和机内码。
答:
区码54转换为十六进制为36,位码48转换为十六进制为30.
36 30 H
+ 20 20 H
= 56 50 H
#国标码为5650H
5 6 5 0 H
+ 8 0 8 0 H
= 13 6 13 0 H
= D 6 D 0 H
#机内码为D6D0H
1,输入码主要分为三类:数字编码、拼音码、字形码。
数字编码常用的是国标区位码;
2,内部码:是汉字在设备和信息处理系统内部存储、处理、传输汉字用的代码。
常用国家标准局GB2312—1980中规定的汉字国标码,两个字节存放一个汉字的内码,每个字节的最高位置1,作为汉字机内码。
3,字形码:表示汉字字形的字模数据,用点阵表示的汉字字形码。