数制和编码

上传人:小** 文档编号:90717649 上传时间:2019-06-15 格式:PPT 页数:60 大小:1.08MB
返回 下载 相关 举报
数制和编码_第1页
第1页 / 共60页
数制和编码_第2页
第2页 / 共60页
数制和编码_第3页
第3页 / 共60页
数制和编码_第4页
第4页 / 共60页
数制和编码_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《数制和编码》由会员分享,可在线阅读,更多相关《数制和编码(60页珍藏版)》请在金锄头文库上搜索。

1、第2章 计算机中的数制和编码,2.1 无符号数的表示及运算 2.2 带符号数的表示及运算 2.3 信息的编码 2.4 数的定点与浮点表示法,十进制(Decimal)、二进制(Binary) 、 十六进制(Hexadeimal)数及其相互间的转换,十进制数: 1 2 3. 4 5,1102,2101,3100,4101,5102,即 123.45=1102,+2101,+3100,+ 4101,+5102,2.1 无符号数的表示及运算 .,二进制数:(逢二进一),1101.1B =,123,+122,+ 021,+121,+120,= 8,+ 4,+ 0,+ 1,+ 0.5,=13.5,十六进制

2、数:(逢十六进一),0、1、2、3、4、5、6、7、8、9、,A、B、C、D、E、F,共十六个数码,.,其中 A、 B、 C、 D、 E、 F,对应十进制数:,10、11、12、13、14、15,A5D.8H=,+ 516 1,+ 8161,= 2560,+ 80,+ 0.5,= 2653.5,+ 1316 0,+ 13,16 2,10,二进制 十六进制, 24 =16 4位二进制数共有下列16种组合:,0000、0001、0010、0011、 1110、1111,由此可见,每位十六进制数可对应4位二进制数。,0000 0001 0010 0011 1110 1111,0 1 2 3 E F,

3、例 2-2 4BF.CH=.,0100,1011,1111.,1100B,例2-1 11 0101 1101.11B,CH,D.,110 1010 1110.111B,EH,= 6,E.,A,=3,5,以小数点为界,向左(整数部分)每4位为一组,高位不足4位时补0;向右(小数部分)每4位为一组,低位不足4位时补0。然后分别用对应的十六进制数表示每组中的4位二进制数。,二进制数转换为十六进制数:,十六进制数转换为二进制数: 直接将每位十六进制数写成其对应的4位二进制数。,例 2-3 1010 1110B .,89 =,= AEH,=10161 + 14 160,=174,59H,= 101 10

4、01B,1010 1110 1111B,= AEFH,=1016 2 + 14 16 1 + 15,= 2560 +224 + 15 =2799,125 =,7DH,= 111 1101B,通过十六进制,(89 16 =,(125 16 =,5 9),7 13,),机器数:最高位0表示正数,1表示负数。,表示真值 011 0101B .,2.2 带符号数的表示及运算,例如:.,表示真值 + 001 0010B .,表示真值 001 0010B = 18 .,机器数与真值,= +18 .,= 53 .,例 2-4 x = + 1010111 y = 1010111 .,x原= 0 1010111

5、 y原=1 1010111 .,1. 原码 .,x反 =00110100 y反 = 11001011,2. 反码 .,负数的反码为: 其原码中符号位不变,其余各位取反。,例2-5 x = +0110100 y = 0110100,3. 补码 .,(正数的原码、反码、补码均相同) .,负数的补码为:其反码的最低位加1。.,例 2-6 x = + 0110100 y = 0110100,x补=00110100 y反= 11001011,y补= 11001100,例 2-6 x = +0110100 y= 0110100 x补= 00110100 y反= 11001011 y补= 11001100,

6、符 号 位,y= 0 1 1 0 1 0 0,1 0 0 1,1 0 0,92=7 (减法),补码的概念及其应用,设标准时间为7时正,钟面时间为9时正。,(快2小时),校准时钟方法:,(1)逆时针拨2小时,(2)顺时针拨10小时,9 + 10 = 12 + 7 = 7 (加法),称“10”是“2”对模“12”的补(码)。,同理 1补=11、 3补= 9 、 、11补=1,记为 2补 = 12 + (2) = 10 (mod 12),在n位二进制整数系统中模为 2n 。,补码的定义,即,式中,补码的加减运算,x+y补=x补+y补,式中 x、y 可为正数或负数。,证明:,x+y补 = 2n +(x

7、+y),=(2n +x)+(2n +y),= x补 + y补,(mod 2n),在8位二进制整数系统中模为28 = 256 .,例 2-7 x =4、y=14,用补码求x+y。,x补=000 0100补=1111 1100 y补=000 1110补=1111 0010,1 1 1 1 1 1 0 0 + 1 1 1 1 0 0 1 0,x+y=0 0 1 0 0 1 0B,1 1 1 1 0 1 1 1 0,=18,解,例 2-8 x =33,y = 45,用补码分别求 x+y、xy。,解 x=33=21H=010 0001B,y补=11010011,x补=00100001,y补=001011

8、01,y=45=2DH=010 1101B,00100001 + 11010011 11110100,x+y补=01001110,00100001 + 00101101 01001110,x+y = +1001110B,xy补=11110100,xy = 0001100B,= + 4EH=78,=0CH=12,从上述补码运算规则和举例可以看出,在计算机中用补码表示带符号数优点明显,且带符号数和无符号数的加法和减法运算可用同一加法器完成,结果都是正确的。例如:,机器运算 00010010 + 11001110 11100000,代表无符号数 1 8 + 2 0 6 2 2 4,+ 1. 1 1

9、0 1 1 1 1,纯小数情况 .,例 2-9 x=0.1010101, y=0.0010001, 用补码求x+y。,x补= 1.0101011 y补=1.1101111,1. 0 1 0 1 0 1 1,1 1. 0 0 1 1 0 1 0,x+y =0.1 1 0 0 1 1 0B,0.1010101,+)0.0010001,0.1100110,解,验算,结果正确,表2.1 8位二进制整数编码的各种表示方法对照,溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。例如,字长为n位的带符号数,它能表示的补码范围为2n1 +2n11,如果运算结果超出此范围

10、,就叫补码溢出,简称溢出。,溢出及其判断方法 ,1. 进位与溢出 ,进位是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。,例 2-10 x = +126、y = + 5; x=126、 y=5, 用8位补码计算 x+y。,1 0 0 0 0 0 1 0 + 1 1 1 1 1 0 1 1 0 1 1 1 1 1 0 1,x+y补= 01111101,x+y = +1111101B0,出错原因:, 1265 =131128,0 1 1 1 1 1 1 0 + 0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 1,x+y补=100

11、00011,x+y = 1111101B0,(结果错误),(结果错误),(正溢出),(负溢出),解 x补=01111110 x补=10000010 y补= 00000101 y补=11111011, +126 + 5 = +131+127,2. 溢出的判断方法.,通过比较参加运算的两个数的符号及运算结果的符号进行判断。,同号数据相加,若结果的符号相同则无溢出;若结果的符号不相同则溢出(如前例2-10)。, 单符号位比较法,异号数据相加,结果不会发生溢出。,0 1 1 1 1 0 1 1 1 0 0 0 0 1 0 1 + 0 0 0 0 0 0 1 1 + 1 1 1 1 1 1 0 1 0

12、1 1 1 1 1 1 0 1 0 0 0 0 0 1 0,(无溢出,结果正确) (无溢出,结果正确),x+y补=01111110 x+y补=10000010,= +126 =126,x+y= +1111110B x+y=1111110B,例 2-11 x= +123、y= +3; x=123、y=3, 用8位补码计算x+y。,解 x补=01111011 x补=10000101 y补=00000011 y补=11111101, 双进位法.,通过符号位和数值部分最高位的进位状态来判断结果是否溢出。,C7,CF,C6,=1,方式控制M,M= 0 加 M=1 减,若最高位的进位状态和次高位的进位状态

13、不同 则溢出;若最高位的进位状态和次高位的进位状态 相同则无溢出。,有进位: C7=1, C6=1 无进位: C7=0, C6=0,例 2-12 用补码求 55 + 66 ,并判断结果是否发生溢出。,解 55 =37H=0110111B 66 =42H=1000010B 55补 =00110111 66补= 01000010,0 0 1 1 0 1 1 1 + 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1,无溢出,结果正确。,55+66补=01111001 55 + 66 = +1111001B =79H=121,例 2-13 用补码求14 +(59),并判断结果是否发生溢出

14、。,解 14 =0001110B ,59 =3BH=0111011B 14补=11110010 59补 =11000101,无溢出,结果正确。,1459补=10110111,14 + (59) =1001001B,=49H=73,解 98 = 62H=1100010B 45 =2DH=0101101B 98补= 01100010 45补= 00101101,有溢出,结果错误。,例 2-14 用补码求98 +45,并判断结果是否发生溢出。,解 93 = 5DH=1011101B 59 = 3BH=0111011B,93补=10100011 59补 =11000101,有溢出,结果错误。,例 2-15 用补码求93 +(59),并判断结果是否发生溢出。, 双符号位法(变形补码法),变形补码:正数的符号位用00表示; 负数的符号位用11表示。,若结果的双符号为01或10则溢出; 若结果的双符号为00或11则无溢出。,通过运算结果的两个符号位的状态来判断结果是否溢出:,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号