二进制数
- 格式:pptx
- 大小:624.82 KB
- 文档页数:22


二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变).3.5.1 奇偶校验码
1.奇偶校验概念
奇偶校验码是一种最简单而行之有效的数据校验方法。
奇偶校验码的实现方法是在每个被传送码的左边或右边加上1位奇偶校验位“0”或“1”,若采用奇校验位,只需把每个编码中1的个数凑成奇数;若采用偶校验位,只要把每个编码中1的个数凑成偶数。表3.4示出了8421码的奇偶校验码。又如ASCII码是用7位二进制表示的编码,其校验位一般加在最高位。已知大写英文字母A的ASCII码是“1000001”,若采用奇校验,最高位加“1”,该码就变成8位代码“11000001”,此时该码字中“1”的个数为奇数3;若采用偶校验,最高位加“0”,该码就变成8位代码“01000001”,此时该码字中“1”的个数为偶数2。
十进制数 带奇校验位的8421码 带偶校验位的8421码 0 1 2 3 4 5 6 7 8
9 00001 00010 00100 00111 01000 01011 01101 01110 10000
10011 00000 00011 00101 00110 01001 01010 01100 01111 10001
10010 注:奇偶校验位用黑体字表示。
表3-4 8421码的奇偶校验码
码距为1的二进制码加上奇偶校验位就变成码距为2的奇偶校验码,这种编码能发现1个或奇数个错误,但因码距较小,不能实现错误定位。因此对奇偶校验码可做出如下的评价:奇偶校验码能发现一位或奇数个位出错,但无错误定位和纠错能力。尽管奇偶校验码的检错能力较低,但据对计算机内存储器出错概率统计,其中70~80%是1位错误,由于奇偶校验码实现简单,因此它还是一种应用最广泛的校验方法。
二进制 / 十进制数转换表
十进制值 二进制值 十进制值 二进制值
0 0000 0000 23 0001 0111
1 0000 0001 24 0001 1000
2 0000 0010 25 0001 1001
3 0000 0011 26 0001 1010
4 0000 0100 27 0001 1011
5 0000 0101 28 0001 1100
6 0000 0110 29 0001 1101
7 0000 0111 30 0001 1110
8 0000 1000 31 0001 1111
9 0000 1001 32 0010 0000
10 0000 1010 33 0010 0001
11 0000 1011 34 0010 0010
12 0000 1100 35 0010 0011
13 0000 1101 36 0010 0100
14 0000 1110 37 0010 0101
15 0000 1111 38 0010 0110
16 0001 0000 39 0010 0111
17 0001 0001 40 0010 1000
18 0001 0010 41 0010 1001
19 0001 0011 42 0010 1010
20 0001 0100 43 0010 1011
21 0001 0101 44 0010 1100
22 0001 0110 45 0010 1101
十进制值 二进制值 十进制值 二进制值
46 0010 1110 76 0100 1100
47 0010 1111 77 0100 1101
48 0011 0000 78 0100 1110
49 0011 0001 79 0100 1111
3、带符号的⼆进制数(原码、反码、补码)
1、数值的符号
之前所提到的⼆进制数,没有考虑到符号问题,所指的都是⽆符号数。但实际上数字是有正、负符号的。
以数字6为例,按照习惯的数学表⽰⽅法,正数6⽤+6表⽰,⼆进制为+110;负数6⽤-6表⽰,⼆进制数为-110.但在数字系统中,符号“+”、“-”也要数字化,⼀
般将所对应的⼆进制数最⾼位增加多⼀位⽤来设为符号位,⽤“0”表⽰“+”、⽤“1”表⽰“-”。
为了区分⼀个符号数的“+”、“-”符号数字化前后的两种表⽰⽅法,引⼊真值和机器数两个术语。
真值:在⼀个⼆进制数前⾯⽤“+”、“-”表⽰正、负数的这种⼆进制数叫做真值。
机器数:将“+”、“-”符号⽤⼆进制码“0”、“1”表⽰的⼆进制数叫做机器数。数据最后存到计算机中就是⽤机器数来表⽰的
如下: +6 -> +110 -> 0110
-6 -> -110 -> 1110
(⼗进制数) (真值) (机器数)
在计算机中最⼩基本的计算单位是字节,1字节=8位⼆进制数,由此可见最后存放到计算机中的机器数是8位⼆进制数,不够补0,符号位占据了1⼀个位置,所
以到了最后只有7位数可以使⽤。
在c语⾔中使⽤ unsigned 关键字可以定义⼀个⽆符号的变量,可将变量的存储范围变⼤。
机器数是由符号位+⼆进制数组成的,机器数实际上是个⼤概念,意指这种类型的数据能存进去计算机,机器数在计算机中⼜有三种不同的表⽰⽅法,分别是:
原码、补码、反码。下⾯逐个列举2、原码
将⼆进制数的真值中的正符号⽤0表⽰,负数符号⽤1表⽰,叫做数原码形式,简称原码。
例如:⼗进制为9的数,它的真值形式和原码形式如下所⽰: +9 -> +0001001 -> 0 0001001
-9 -> - 0001001 -> 1 0001001
(⼗进制数) (真值) (原码)
原码⽤8位数码表⽰,最⾼位为符号位。
原码的优点是易于辨认,因为它的数值部分就是该数的绝对值,⽽且与真值和⼗进制数的转换⼗分⽅便。但是在采⽤原码进⾏计算时,运算⽐较是复杂的。
二进制及十、二进制及十、八、十六进制
1. 十进制数
十进制数的两个主要特点:
⑴有十个不同的数字:0、1、2、3、4、5、6、7、8、9;
⑵逢十进一的进位法,10是十进制数的基数(进制中所用不同数字的个数)。
(1993)10=1×103+9×102+9×101+3×100(每位上的系数只在0—9中取用)
2. 二进制数
二进制数的两个主要特点:
⑴有两个不同的数字:0、1;
⑵逢二进一的进位法,2是二进制数的基数。
(1011)2=1×23+0×22+1×21+1×20(每位上的系数只在0、1中取用)
3. 八进制数
八进制数的两个主要特点:
⑴采用八个不同的数字:0、1、2、3、4、5、6、7;
⑵逢八进一的进位法,8是八进制数的基数。
(1725)8=1×83+7×82+2×81+5×80(每位上的系数只在0—7中取用)
4. 十六进制
十六进制数的两个主要特点:
⑴有十六个不同的数字:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F(其中后六个数字符号其值对应于十进制的10,11,12,13,14,15;也有选用S,T,U,V,W,X的记法);
⑵逢十六进一的进位法,16是十六进制数的基数。
(B56E)16=B×163+5×162+6×161+E×160=11×163+5×162+6×161+14×160
表1.2.1给出了上述四种进制数表示方式的对照表: 表1.2.1 四种进制数表示方式对照表
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 …
十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 …
二进制 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 …
八进制 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20 …