第1章数制与编码160308_第1页
第1章数制与编码160308_第2页
第1章数制与编码160308_第3页
第1章数制与编码160308_第4页
第1章数制与编码160308_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 掌握二、十、八、十六进位计数制及相互转换;掌握二、十、八、十六进位计数制及相互转换; 掌握二进制数的原码、反码和补码表示及其加减掌握二进制数的原码、反码和补码表示及其加减运算;运算; 了解定点数与浮点数的基本概念;掌握常用的几了解定点数与浮点数的基本概念;掌握常用的几种编码。种编码。数制数制:用一组统一的符号和规则表示数的方法。 位置计数法位置计数法例例:123.45 读作:一百二十三点四五 按权展形式按权展形式例例:123.45=1102+2101+3100+410-1+510-2用来表示数的数码的集合称为基(09),集合的大小称为基数(十进制10)。在十进制中,10的整幂次方称为10进制

2、数的权。例例:123.45=1102+2101+3100+410-1+510-2对于任意一个二进制数N,用位置记数法位置记数法可表示为:(N)2=(an-1 an-2 a1 a0. a-1 a-2 a-m)2用权展开式权展开式表示为:(N)2 = an-12n-1+an-22n-2 + a121+a020 +a-1 2-1+a-22-2+a-m2-miinmia21 上面两式中,ai=0或1,n为整数部分的位数, m为小数部分的位数。(N)r = an-1rn-1+an-2rn-2 + a1r1+a0r0 +a-1 r-1 + a-2r-2 + a-mr-miinmira 1(N) r = (

3、an-1 an-2 a1 a0. a-1 a-2 a-m)r对于任意一个 r 进制数 N,用位置记数法位置记数法可表示为:用权展开式权展开式表示为: 只有两个数码,很容易用物理器件来实现。 运算规则简单。 可使用逻辑代数这一数学工具。 节省设备。(1) 设n是数的位数,R是基数 Rn-最大信息量 nR-Rn个数码所需设备量 例:当R=10,n=3时,最大信息量Rn=103=1000, 所以,设备量 nR=310=30; 当R=2时,要使信息量Rn1000, 则令 n=10,有:Rn =210=1024 此时设备量 nR=102=20 30; 可知,同样为1000的信息量,二进制比十进制节省设备

4、。 (2) 唯一性证明 设N=Rn (N为最大信息量,n为R进制数的位数) 两边取对数,得:ln(N)= ln(Rn) = nln(R) 令C=ln(N),则:C=nln(R) 两边同乘R,得:RC=nRln(R) ln( )RCnRR ()0ln( )RCRR=e=2.718ln(R)-1=0令y = nR,则:对R求导数并令结果等于零,得:则:2ln10(ln( )RCR所以: 按权展开式在按权展开式在十进制数域中计算十进制数域中计算例如:432102(11010101)1 21 20 21 20 2 .32121202116820 50 125 .10(26 626). 整数部分:除整数

5、部分:除2取余法取余法例例:将(58)10转换成二进制形式101210 2(58)( )nnaaaa011221122 22onnn-naaaa2312102(22 )n-nnnaaaa两边除以两边除以2,得:,得:23010121(29)22 2n-nnnaaaa得:a0=02 22)2114(12423110aaaannn-n得:a1=1于是,得: (58)10 = (111010)223010121(29)22 2n-nnnaaaa整数部分整数部分小数部分小数部分两数相等,整数部分和小数部分必须对应相等,两数相等,整数部分和小数部分必须对应相等,上式两边继续同时除以上式两边继续同时除以2

6、,得:,得: 短除法:先求出的余数为低位。短除法:先求出的余数为低位。582142 72 32292 120余数 0 (a0)余数 0 (a2)余数 1 (a3)余数 1 (a5) 余数 1 (a4)余数 1 (a1)(58)10 = (111010)2 小数部分:乘小数部分:乘2取整法取整法例:例:将(0.625)10转换为二制形式)22(212)625. 0(112110mmaaa)22()25. 1 (112110mmaaa得:a-1=1两边乘以两边乘以2,得:,得:上式两边再继续乘以上式两边再继续乘以2,得:,得:11102(0.25)22mmaa)22() 5 . 0(213210m

7、maaa)22()00. 1 (314310mmaaa得:a-3=1102(0.625)(0.101)注意:不能进行精确转换的情况注意:不能进行精确转换的情况)22()5 . 0(213210mmaaa得:a-2=0上式两边再继续乘以上式两边再继续乘以2,得:,得:所以: 短乘法:先求出的整数为高位短乘法:先求出的整数为高位0. 625) 2 1. 250) 20. 500) 21. 000整数 0 (a-2)整数 1 (a-3)整数 1 (a-1)(0.625)10 = (0.101)2不参加下次乘法整数位1,小数为0,计算结束例:例:八进制: 2 5 7 . 0 5 5 4二进制:010

8、101 111 . 000 101 101 100十六进制:A F . 1 6 C因此,(257.0554)8=(10101111.0001011011)2=(AF.16C)16确定小数位数的依据:数值转换后的精度要求。确定小数位数的依据:数值转换后的精度要求。解:设 进制有 i 位小数,转换成 进制后保证同样精度需要 j 位小数。 这时最低位的值应相等,即: ( ,10)ij 都为进制表示两边取对数,则得:lglgij 所以: lglgji设 =10, =2,即:lg23.32jii如果已知十进制位数i,求所需的最少二进制位数 j ,则有:3.32 ji如果已知二进制位数 j,求所需的最少十

9、进制位数 i ,则有:lg20.301 ijj于是,j 取大于等于 3.32i 的最小整数。于是,i 取大于等于 0.301j 的最小整数。一般取一般取 j 为满足下列不等式为满足下列不等式的的最小整数:最小整数: lglgji1、直接用“+”和“”表示符号的二进制数,不能在机器使用。2、将符号数值化了的二进制数,可在机器中使用。3、一般将符号位放在数的最高位。例:例: +1011 0 1 0 1 11 1 0 1 1-1011 又称又称“符号符号+数值表示数值表示”,对于正数,符号位为,对于正数,符号位为0; 对于负数,符号位为对于负数,符号位为1,其余各位表示数值部分。,其余各位表示数值部

10、分。例:例: N1 = +10011 N2 = 01010 N1原= 010011N2原= 101010原码表示的特点:原码表示的特点:真值0有两种原码表示形式, 即: +0原= 000 0原= 1 00(2) 表示范围:-127 +127 (8位整数)原码公式:原码公式:01110NNNNN原整数:整数:(含一位符号位含一位符号位)定点小数:定点小数:(含一位符号位含一位符号位)02220111NNNNNnnn原对于正数,其反码表示与原码表示相同,对于负数,符号位为1,其余各位是将原码数值按位求反。例:例: N1 = +10011 N2 = 01010 N1反= 010011N2反= 1 1

11、0101(1) 真值0也有两种反码表示形式, 即 +0反= 0 00 0反= 1 11(2) 表示范围:-127+127 (8位整数)反码表示的特点:反码表示的特点:反码公式:反码公式:01)2210NNNNNm(反02) 12(2011NNNNNnnn反整数:整数:(含一位符号位含一位符号位)定点小数:定点小数:(含一位符号位含一位符号位)对于正数,其补码表示与原码表示相同,对于负数,符号位为1,其余各位是在反码数值的末位加“1”。例:例: N1 = +10011 N2 = 01010 N1补= 0 10011N2补= 1 10110(1) 真值0只有一种补码表示形式,即: 0补= 0反+1

12、= 1 11+1= 1 0 0 0丢弃(2) 表示范围:-128+127 (8位整数)补码表示的特点:补码表示的特点:补码公式:补码公式:01210NNNNN补0222011NNNNNnnn补整数:整数:(含一位符号位含一位符号位)定点小数:定点小数:(含一位符号位含一位符号位) 移码又叫增码,是符号位取反的补码,一般用做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。数值原码反码补码移码-71111100010010001-61110100110100010-51101101010110011-41100101111000100-31011110011010101-210101101

13、11100110-110011110111101110000000000000000010001000100011001200100010001010103001100110011101140100010001001100501010101010111016011001100110111070111011101111111移码公式:移码公式: , 2nxx移22nnx 由1位符号数和几位数值位组成的阶码:例如:x= +1011, x移=1 1011 x = -1011, x移=0 0101符号位“1”表示 正正 号符号位“0”表示 负负 号移码与补码的关系:移码与补码的关系:x= +1011,

14、 x补= 0 1011 x移=1 1011 x = -1011, x补= 1 0101 x移=0 0101x移与x补的关系是符号位互为相反数(仅符号位不同)移码表示中,0有唯一的编码:100000。当00000出现时表示-2n,属于浮点数下溢。移码表示的特点:移码表示的特点:11) 1(10121022)(niininnxxxxxxxx则若补证:证:021200210100 xxxxxxxnnn补100120120011012001111(1)01 -2222222(12)2222nnnnnnnnnnnnniiixxxx x xxxxxxxxxxxx 补1221001210.21nnnxxxx

15、xxxxxxxx补补则若11) 1(10121022)(niininnxxxxxxxx则因补证:证:11) 1(102212)21(21niininxxx111) 1(2022)(niininxx111) 1(20101022)(22)(niininnnxxxx111) 1(1) 1(010222)(niininnxxx101) 1(1022)(niininxx122100.21nnxxxxxxx补则表明表明:不论x为正或负,补21x总等于x补的各位(含符号位)右移一位,且符号位保持不变。101210121xxxxxxxxxxnnnn补补则若020111nnxx时,当、01320 xxxxxn

16、n补01321xxxxxnn原证:证:121 01nnxxxx x01320 xxxxxnn原补102211nnxx时,当、01321xxxxxnn补100132xxxxxnn原110132xxxxxnn原10121xxxxxnn补综合以上两种情况,得证。例: x补=10111011 -x补=01000100+1=01000101例1:已知:2n-1 x 0,x为何值时等式 x补=x原成立。解:1. 举例说明,设 n = 4,即以四位二进制为例2. 一般性证明 2n-1 x 0时,x原=2n-1 -x x补=2n + x 为满足x原=x补, 有: 2n-1 - x = 2n + x 则:2x=

17、2n-1 - 2n x = - 2n-1 当2n-1 x 0时,一个n有且只有一个x使等式x补=x原成立。例2:已知x为二进制数,x补=11x1x2x3x4x5 若 x y补,是否有x y?解:举例说明:真值真值补码补码30011200101000100000-11010-21011-31110例如:-2补=1011 1补=0001但是:-2 1 所以: 此结论不一定成立。此结论不一定成立。绝对值相加,取被加(减)数的符号。 (+A)-(+B)=(+A)+(-B) (-A)-(-B)=(-A)+(+B)2、设A、B表示绝对值,有下列两类八种情况。 (+A)+(+B)=(+A)-(-B) (-A

18、)+(-B)=(-A)-(+B)绝对值相减,取绝大值较大者的符号。1、符号位不参与运算,单独处理。同号数相加或异号数相减同号数相减或异号数相加解解: N1 原10011, N2 原01011 所以,绝对值相减,得到: 1 0 1 1) 0 0 1 11 0 0 0结果取N2的符号,即: N1 +N2原01000真值为: N1 +N21000例:已知例:已知 N1 =0011,N2 = 1011,求 N1 +N2原和 N1 N2原。 求 N1 +N2原同号数相减或异号数相加同号数相减或异号数相加所以,绝对值相加,得到: 0 0 1 1) 1 0 1 11 1 1 0结果取N1的符号,即: N1

19、N2原11110真值为: N1 N21110 求 N1 -N2原同号数相加或异号数相减同号数相加或异号数相减 N1 +N2反 N1反+ N2反 N1 N2反 N1反+ N2反符号位参与运算,且当符号位有进位时,符号位参与运算,且当符号位有进位时,应在结果的最低位再加应在结果的最低位再加“1”(循环进位循环进位)。N反反=N原反码与原码的关系:反码与原码的关系:例:例: 已知已知N1 =0011,N2 = 1011,求 N1 +N2反和 N1N2反。解解: N1 反11100, N2 反01011, N2 反10100 N1 +N2反= 01000 1 1 1 0 0) 0 1 0 1 11 0

20、 0 1 1 1)10 1 0 0 0真值为:N1 +N2=1000 N1 +N2反= N1 反+ N2 反= 11100+01011符号位为0,表示正数 1 1 1 0 0) 1 0 1 0 01 1 0 0 0 0)11 0 0 0 1真值为: N1 N2=1110 N1 N2反= N1 反+ N2 反= 11100+10100 N1N2反= 10001N1N2原= N1N2反反 = 11110可以证明有如下补码加、减运算规则: N1 +N2补 N1补+ N2补 N1 N2补 N1补+ N2补此规则说明补码的符号位参与加减运算。N补补=N原补码与原码的关系:补码与原码的关系:例:例: 已知

21、已知 N1 =0011,N2 = 1011,求 N1 +N2补和 N1 N2补。解解: N1 补11101, N2 补01011, N2 补10101 N1 +N2补= N1 补+ N2 补=11101+10101 1 1 1 0 1) 0 1 0 1 11 0 1 0 0 0丢弃真值为:N1 +N2=1000 N1 +N2补= 0 1000符号位为0,表示正数 1 1 1 0 1) 1 0 1 0 11 1 0 0 1 0丢弃真值为: N1 N2=-1110 N1N2补= N1 补+ N2 补=11101+10101 N1N2补= 10010N1N2原= N1N2补补 = 11110 数学上

22、,补码与其真值构成了以某一值(计算机的字长)为模的“模数系统”或“同余”结构的代数系统。模:计量器的容量。模:计量器的容量。例:计算机的字长为L,则模数为2L。设L=4,那么:丢弃 1 0 0 1 9+ 1 0 0 0 8 1 0 0 0 1 17同余:在某一模数系统中,模数为同余:在某一模数系统中,模数为n,如果,如果a、b的的 余数相同,则称余数相同,则称a、b模模n同余。同余。 在模16的系统中,17=1 (mod16)。例:在模数为16的系统中,称17和33为模16同余。例:钟表为模12的系统。12396顺时针:+;逆时针:-当由12点拨到3点时:顺时针拨时: 12+3=15=15-1

23、2=3 (mod12)逆时针拨时:12-9=3 12+(12-9)=3 (mod12)在模在模n的系统中,的系统中,N与与n-N是一对互补的数,是一对互补的数,利用其特点可把减法变成加法运算。利用其特点可把减法变成加法运算。N补=2n+N -2n-1 N 0取反加1所以:12-9=12+3=31.3.6 十进制的补数十进制的补数为方便十进制减法运算而引进十进制的补数。对于十进制正数对于十进制正数N,其对10的补数表现形式为: 符号位为0,数值部分为N本身。例:N=5493 N10补=05493例:N=-3250 N10补=105-3250=96750例:N=-0.3267 N10补=10-0.

24、3267=9.6733对于十进制负数对于十进制负数N,其对10的补数表现形式为: N10补=10n+N -10n-1 N0(n为N的整数部分的位数,含一位符号位。)例:N1=72532,N2=33256,求:N=N1-N2解:N1-N210补 =72532-3325610补 =7253210补+-3325610补 =072532+966744 0 7 2 5 3 2+)9 6 6 7 4 4 1 0 3 9 2 7 6丢掉所以:N1-N210补= 039276N1-N2= 39276 与二进制数的的减法运算相似,可将减法转换成加法来实现。 对于十进制正数对于十进制正数N,其对9的补数表现形式为

25、:符号位为0,数制部分为N本身,与对10的补数相同。例:N=8954 N9补=08954对于十进制负数对于十进制负数N,其对9的补数表现形式为: N9补=10n-10-m+N -10n-1n0(n为N的整数部分的位数,含一位符号位; m为N的小数部分的位数。)例:N = -3250 N9补=105-1-3250=96749例:N = -25. 639 N9补=103-10-3-25.639=974.360例:N1=5489,N2=3250,求:N=N1-N2解:N1-N29补 = 5489-32509补 = 54899补+-32509补 = 05489+96749 0 5 4 8 9+)9 6

26、 7 4 9 1 0 2 2 3 8N1-N29补= 02239N1-N2= 2239+) 10 2 2 3 9 与二进制数的的减法运算相似,可将减法转换成加法来实现。即小数点的位置固定不变,一般用来表示一个纯小数或者整数。纯小数,即:纯小数,即:2-n|N|1-2-n1 1 1 0 1 1 0 1符号 小小数数点点n位数值整数,即:整数,即:1|N|2n-11 1 1 0 1 1 0 1符号 小小数数点点n位数值固定在数值部分固定在数值部分的最高位之前。的最高位之前。固定在数值部分的固定在数值部分的最低位之后。最低位之后。2. 如果纯小数的运算结果小于2-n,或者整数的 运算结果小于1,称出

27、现了“下溢”,一般作 为0处理;1. 机器中并没有小数点,仅仅是一种默认。3. 如果纯小数的运算结果大于1- 2-n,或者整数 的运算结果大于2n-1,称出现了“上溢”, 一 般会停机或进入出错处理程序。一般形式为一般形式为:N= 2J S 数的浮点表示法是指表示一个数时,其小数点的位置是浮动的,实际上是数的指数计数法在计算机中的具体体现,解决了定点表示中取值范围过窄的问题。浮点表示中,数由两部分构成:阶码部分和尾数部分。阶码阶码部分,部分,表示小数点表示小数点的的实际实际位置位置尾数部分,表尾数部分,表示数的符号和示数的符号和有效数字有效数字规格化数可以提高运算精度。例如:01011. 02

28、1011. 021011101100 如果尾数的数值部分只有4位,则后一种表示将产生误差。 在浮点数中,为了在尾数中表示最多的有效数据位,同时使浮点数具有唯一的表示方式,规定尾数部分用纯小数给出,而且最高数值位非0,即: 。1|21S阶符阶码尾符尾数机器零:浮点数的尾数为零或阶码为最小数上溢:数的阶码大于机器所能表示的最大阶码下溢:数的阶码小于机器所能表示的最小阶码例:N=2100.10101112SNJ2222SNJ)(221211SSNNJ若 J1 =J2,则: 若 J1 J2,则需要先对阶再按上式进行计算例:N1=2110.1011 N2=2010.1100对阶:使J1=J2=11则2=

29、2110.0011)0011. 01011. 0(21121 NN1) 加减法:加减法:2) 乘除法:乘除法:N1N2=2( )(S1S2)J1+J2N1 N2=2( )(S1 S2)J1-J2简称为二十进制编码,即用若干位二进制代码来表示一位十进制数。这种编码既具有二进制数的形式又具有十进制数的特点。 8421 BCD码 余3码 2421 BCD码简称8421码。按4位二进制数的自然顺序,取前十个数依次表示十进制的09,后6个数不允许出现,若出现则认为是非法的或错误的。冗余码:1010、1011、1100、1101、1110、11118421码是一种有权码,每位有固定的权,从高到低依次为8、

30、4、 2、1。如 : (0111)8421码=08+14+12+11=71) 与四位二进制数的表示完全一样;2) 10101111为冗余码;3) 8421码与十进制的转换关系为直接转换关系;例:(0001 0011.0110 0100)8421BCD=(13.64)104) 运算时按逢10进1的原则,并且要进行调整。调整原则:有进位或出现冗余码时, 加法:+6调整;减法: -6调整。例1:8+9=17 1 0 0 0+) 1 0 0 1 1 0 0 0 1 有进位,有进位,+6调整调整+) 0 1 1 00 1 1 1例2:7+6=13 0 1 1 1+) 0 1 1 0 1 1 0 1 +)

31、 0 1 1 01 0 0 1 1丢弃丢弃冗余码,冗余码,+6调整调整由8421码加3形成。4) 如果两个余3码相加没有进位,则和数要减3, 否则和数要加3。1) 是一种无权码。2) 有六个冗余码。 (0000、0001、0010、1101、1110、1111)3) 对9的自补码,每个余3码自身按位取反, 即可得到其对9的补码。例:(4)余3码=0111; (5)余3码 =1000 (0111)9补=1000 即0111按位取反。 0 1 0 0) 0 1 1 01 0 1 0)0 0 1 10 1 1 1例例1:计算:计算 0100+0110 1 0 0 0) 1 0 0 11 0 0 0

32、1+)0 0 1 11 0 1 0 0例例2:计算:计算1000+1001没有进位,和数减3有进位,和数加3所以:所以: 0100+0110=0111所以:所以: 1000+1001= 0100丢弃丢弃简称2421码。按4位二进制数的自然顺序,取前8个数依次表示十进制的07,8和9分别为1110和1111。其余6个数不允许出现,若出现则认为是非法的或错误的。这只是2421码的一种编码方案。2421码是一种有权码,每位有固定的权,从高到低依次为2、4、2、1。例如 : (0111)2421码 =02+14+12+11=7 (1110)2421码 =12+14+12+01=82421码的编码方案:

33、码的编码方案: 代码代码方案方案1方案方案2方案方案3/4000000000000010001000100012001010000010/10003001110010011/10014010010100100/10105010110111011/01016011011001100/01107011111011101/011181110111011109111111111111对九自补能减少错误,发现错误,甚至纠正错误的编码称为可靠性编码。 格雷码 奇偶校验码 海明码在一组数的编码中,如果任意相邻的代码只有一位二进制数不同,即为格雷码。 典型二进制格雷码编码规则:11nnBG1iiiBBG1 1

34、 0 11 0 1 1 例:13的格雷码:又称葛莱码、二进制循环码,是1880年由法国工程师Jean-Maurice-Emlle Baudot发明的一种编码。 十进制十进制 二进制二进制GREY1步进码步进码GREY2000000000000000000100010001000010001200100011000110011300110010001110010401000110011110110501010111111111110601100101111101010701110100111001011810001100110001001910011101100001000101010111111101111101211001010131101101114111010011511111000反射循环格雷码应用:循环计数循环计数典型二进制格雷码转换成二进制数的方法:11nnGBiiiGBB10 1 0 00 1 1 1例:7的典

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论