各种码制知识
格雷码Gray code
是表达二进制数的又一种编码方式,有多种编码形式,表1-1给出了一种常用的编码方式,它又称循环码。由表可见,在从“0”开始顺序排列的编码中,每一位各以一个固定周期进行循环,并在一个循环周期内以其中心为对称。例如,最低位的循环周期是“0110”,第二位的循环周期是“00111100”,第三位的循环周期是“0000111111110000”,……。这种编码方式虽然不易被阅读理解,但其优点是在任何两个相邻的数所对应的代码中只有一位是不同的,这就彻底防止了计数过程中尖峰干扰(glitch)的出现。
1-1 二进制编码对照表
等效十进制值
8位二进制数
BCD码
格雷码
0
0000 0000
0000
0000 0000
1
0000 0001
0001
0000 0001
2
0000 0010
0010
0000 0011
3
0000 0011
0011
0000 0010
4
0000 0100
0100
0000 0110
5
0000 0101
0101
0000 0111
6
0000 0110
0110
0000 0101
7
0000 0111
0111
0000 0100
8
0000 1000
1000
0000 1100
9
0000 1001
1001
0000 1101
10
0000 1010
0001 0000
0000 1111
11
0000 1011
0001 0001
0000 1110
12
0000 1100
0001 0010
0000 1010
13
0000 1101
0001 0011
0000 1011
14
0000 1110
0001 0100
0000 1001
15
0000 1111
0001 0101
0000 1000
16
0001 0000
0001 0110
0001 1000
255
1111 1111
0010 0101 0101
10000000
格雷码与二进制码之间的转换
格雷码和二进制码的互换可以很容易地利用“异或”门实现。二进制码的最高位与格雷码的最高位相同,若二进制码的最高位是0,格雷码的最高位也是0,然后连续从最高位(MSB)读到最低位(LSB),相邻两位数值变化时,就产生一个“1”,没有变化就产生一个0。例如:10位二进制数1011100011变成格雷码就是1110010010。
格雷码至二进制码的变换恰好是二进制码至格雷码的反变换。二进制码的最高位与格雷码的最高位一样;然后连续从最高位读到最低位,若后一位是1,则二进制码中后一位与前一位相反。如格雷码的后一位是0,则二进制码中后一位与前一位相同。例如,如格雷码是1011,则对应的二进制码为1101。同样,12位格雷码101101011101在二进制中就是110110010110。
常用双极性代码
十进制数
符号-数值
2的补码
偏移二进制
1的补码
(反码)
正基准
负基准
+7
+7/8
-7/8
0111
0111
1111
0111
+6
+6/8
-6/8
0110
0110
1110
0110
+5
+5/8
-5/8
0101
0101
1101
0101
+4
+4/8
-4/8
0100
0100
1100
0100
+3
+3/8
-3/8
0011
0011
1011
0011
+2
+2/8
-2/8
0010
0010
1010
0010
+1
+1/8
-1/8
0001
0001
1001
0001
0
0+
html符号代码对照表
0-
0000
0000
1000
0000
0
0-
0+
1000
(0000)
(1000)
1111
-1
-1/8
+1/8
1001
1111
0111
1110
-2
-2/8
+2/8
1010
1110
0110
1101
-3
-3/8
+3/8
1011
1101
0101
1100
-4
-4/8
+4/8
1100
1100
0100
1011
-5
-5/8
+5/8
1101
1011
0011
1010
-6
-6/8
+6/8
1110
1010
0010
1001
-7
-7/8
+7/8
1111
1001
0001
1000
-8
(1000)
(0000)
各种双极性代码的相互关系
      以右为准
到下
符号-数值
2的补码
偏移二进制
1的补码(反码)
符号-数值
不变
MSB1则其余各位取反加1
MSB取反,若取反后MSB1 则其余各位取反加1
MSB1,其余各位取反
2的补码
MSB1则其余各位取反加1
不变
MSB取反
MSB1,则LSB1
偏移二进制
MSB取反,若取反后MSB0 则其余各位取反加1
MSB取反
不变
MSB取反,若取反后MSB0 LSB1
1的补码(反码)
MSB1,其余各位取反
MSB1,则LSB1
MSB取反,若取反后MSB1 则其余各位加1
不变

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。