




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、关于数制和编码第一张,PPT共六十页,创作于2022年6月 十进制(Decimal)、二进制(Binary) 、 十六进制(Hexadeimal)数及其相互间的转换十进制数: 1 2 3. 4 511022101310041015102 即 123.45=1102 +2101 +3100 + 4101 +5102 2.1 无符号数的表示及运算 .第二张,PPT共六十页,创作于2022年6月 二进制数:(逢二进一)1101.1B =123+122+ 021+121+120= 8+ 4+ 0+ 1+ 0.5=13.5十六进制数:(逢十六进一)0、1、2、3、4、5、6、7、8、9、A、B、C、D、
2、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第三张,PPT共六十页,创作于2022年6月二进制 十六进制 24 =16 4位二进制数共有下列16种组合:0000、0001、0010、0011、 1110、1111由此可见,每位十六进制数可对应4位二进制数。0000 0001 0010 0011 1110 11110 1 2 3 E F第四张,PPT共六十页,创作于2022年6月十进制十六
3、进制二进制00000011000122001033001144010055010166011077011188100099100110A101011B101112C110013D110114E111015F1111第五张,PPT共六十页,创作于2022年6月例 2-2 4BF.CH=. 0100 1011 1111. 1100B例2-1 11 0101 1101.11B CHD.110 1010 1110.111BEH= 6E.A=35 以小数点为界,向左(整数部分)每4位为一组,高位不足4位时补0;向右(小数部分)每4位为一组,低位不足4位时补0。然后分别用对应的十六进制数表示每组中的4位二
4、进制数。 二进制数转换为十六进制数: 十六进制数转换为二进制数: 直接将每位十六进制数写成其对应的4位二进制数。 第六张,PPT共六十页,创作于2022年6月例 2-3 1010 1110B .89 = AEH=10161 + 14 160 =17459H= 101 1001B1010 1110 1111B = AEFH=1016 2 + 14 16 1 + 15 = 2560 +224 + 15 =2799125 =7DH= 111 1101B通过十六进制二进制 十进制(89 16 =(125 16 =5 9)7 13)第七张,PPT共六十页,创作于2022年6月机器数:最高位0表示正数,1
5、表示负数。00010010表示真值 011 0101B .2.2 带符号数的表示及运算 例如:.表示真值 + 001 0010B .10010010表示真值 001 0010B = 18 .10110101机器数与真值= +18 .= 53 .第八张,PPT共六十页,创作于2022年6月例 2-4 x = + 1010111 y = 1010111 .x原= 0 1010111 y原=1 1010111 .1. 原码 .符号位绝对值符号位绝对值第九张,PPT共六十页,创作于2022年6月x反 =00110100 y反 = 110010112. 反码 .负数的反码为:其原码中符号位不变,其余各位
6、取反。正数的反码与其原码相同。例2-5 x = +0110100 y = 0110100第十张,PPT共六十页,创作于2022年6月3. 补码 .正数的补码与其原码相同。.(正数的原码、反码、补码均相同) .负数的补码为:其反码的最低位加1。.例 2-6 x = + 0110100 y = 0110100 x补=00110100 y反= 11001011y补= 11001100第十一张,PPT共六十页,创作于2022年6月例 2-6 x = +0110100 y= 0110100 x补= 00110100 y反= 11001011 y补= 11001100符号位各位取反y= 0 1 1 0 1
7、 0 0最末1及其之后0不变由负数的原码(或由真值)直接求其补码: .y补 = 11 0 0 11 0 0第十二张,PPT共六十页,创作于2022年6月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)第十三张,PPT共六十页,创作于2022年6月在n位二进制整数系统中模为 2n 。补码的定义即式
8、中第十四张,PPT共六十页,创作于2022年6月补码的加减运算x+y补=x补+y补式中 x、y 可为正数或负数。证明:x+y补 = 2n +(x+y)=(2n +x)+(2n +y)= x补 + y补(mod 2n)第十五张,PPT共六十页,创作于2022年6月模128自然丢失在8位二进制整数系统中模为28 = 256 .例 2-7 x =4、y=14,用补码求x+y。x补=000 0100补=1111 1100y补=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 0B1 1 1 1 0 1 1 1 0
9、 x+y补=18解 第十六张,PPT共六十页,创作于2022年6月例 2-8 x =33,y = 45,用补码分别求 x+y、xy。解 x=33=21H=010 0001B y补=11010011x补=00100001y补=00101101y=45=2DH=010 1101B 00100001+ 11010011 11110100 x+y补=01001110 00100001 + 00101101 01001110 x+y = +1001110Bxy补=11110100 xy = 0001100B= + 4EH=78=0CH=12第十七张,PPT共六十页,创作于2022年6月 从上述补码运算规
10、则和举例可以看出,在计算机中用补码表示带符号数优点明显,且带符号数和无符号数的加法和减法运算可用同一加法器完成,结果都是正确的。例如: 机器运算 00010010+ 11001110 11100000代表无符号数 1 8+ 2 0 6 2 2 4代表带符号数 + 18补+ 50补 32补第十八张,PPT共六十页,创作于2022年6月+ 1. 1 1 0 1 1 1 1纯小数情况 .例 2-9 x=0.1010101, y=0.0010001, 用补码求x+y。x补= 1.0101011 y补=1.1101111模121=2自然丢失.1. 0 1 0 1 0 1 11 1. 0 0 1 1 0
11、1 0 x+y =0.1 1 0 0 1 1 0B0.1010101+)0.00100010.1100110解 验算结果正确第十九张,PPT共六十页,创作于2022年6月二进制数编码对 应 十 进 制 真 值无符号数原码反码补码0000 00000+0+0+00000 00011+1+1+10000 00102+2+2+20111 1110126+126 +126 +1260111 1111127+127 +127 +1271000 000012801271281000 000112911261271000 001013021251261111 1101253125231111 1110254
12、126121111 111125512701表2.1 8位二进制整数编码的各种表示方法对照第二十张,PPT共六十页,创作于2022年6月 溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。例如,字长为n位的带符号数,它能表示的补码范围为2n1 +2n11,如果运算结果超出此范围,就叫补码溢出,简称溢出。 溢出及其判断方法 1. 进位与溢出 进位是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。第二十一张,PPT共六十页,创作于2022年6月即在n位二进制整数系统中模为 2n 。补码的定义式中回阅第二
13、十二张,PPT共六十页,创作于2022年6月 例 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补=10000011 x+y = 1111101B0 (结果错误)(结果错误)(正溢出)(负溢出)解 x补=01111110 x补=10000010
14、y补= 00000101 y补=11111011 +126 + 5 = +131+127 第二十三张,PPT共六十页,创作于2022年6月2. 溢出的判断方法. 通过比较参加运算的两个数的符号及运算结果的符号进行判断。 同号数据相加,若结果的符号相同则无溢出;若结果的符号不相同则溢出(如前例2-10)。 单符号位比较法.异号数据相加,结果不会发生溢出。第二十四张,PPT共六十页,创作于2022年6月 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 1 1 1 1 1 1 0 1 0 0 0 0 0 1
15、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第二十五张,PPT共六十页,创作于2022年6月 双进位法. 通过符号位和数值部分最高位的进位状态来判断结果是否溢出。C7CFC6数值位 b7 b6 b1 b0 x7 y7x1 y1=1 x0 y0 x6 y6=1 =1 =1 OF=1
16、方式控制MM= 0 加M=1 减全加器异或门第二十六张,PPT共六十页,创作于2022年6月 若最高位的进位状态和次高位的进位状态不同则溢出;若最高位的进位状态和次高位的进位状态相同则无溢出。 有进位: C7=1, C6=1无进位: C7=0, C6=0 第二十七张,PPT共六十页,创作于2022年6月例 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无溢
17、出,结果正确。 55+66补=01111001 55 + 66 = +1111001B =79H=121第二十八张,PPT共六十页,创作于2022年6月例 2-13 用补码求14 +(59),并判断结果是否发生溢出。解 14 =0001110B ,59 =3BH=0111011B 14补=11110010 59补 =11000101 1 1 1 1 0 0 1 0+ 1 1 0 0 0 1 0 1 1 0 1 1 0 1 1 1、1无溢出,结果正确。 1459补=1011011114 + (59) =1001001B=49H=73第二十九张,PPT共六十页,创作于2022年6月解 98 = 6
18、2H=1100010B 45 =2DH=0101101B 98补= 01100010 45补= 00101101有溢出,结果错误。 0 1 1 0 0 0 1 0+ 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1、例 2-14 用补码求98 +45,并判断结果是否发生溢出。第三十张,PPT共六十页,创作于2022年6月解 93 = 5DH=1011101B 59 = 3BH=0111011B 93补=10100011 59补 =11000101 1 0 1 0 0 0 1 1+ 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 0、1有溢出,结果错误。 例 2-15
19、用补码求93 +(59),并判断结果是否发生溢出。第三十一张,PPT共六十页,创作于2022年6月 双符号位法(变形补码法)变形补码:正数的符号位用00表示; 负数的符号位用11表示。 若结果的双符号为01或10则溢出; 若结果的双符号为00或11则无溢出。 通过运算结果的两个符号位的状态来判断结果是否溢出:第三十二张,PPT共六十页,创作于2022年6月0 0 1 1 1 1 1 1 0+ 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1(正溢出,结果错误)例 2-16 X= +126、Y= +5; X=126、Y=5, 用变形补码计算X+Y。解 X补=00111111
20、0 X补=1100000101 0 1 1 1 1 1 0 11 1 0 0 0 0 0 1 0+ 1 1 1 1 1 1 0 1 1Y补=000000101 Y补=111111011(负溢出,结果错误) 第三十三张,PPT共六十页,创作于2022年6月 Y补=000000011 Y补=1111111010 0 1 1 1 1 0 1 1+ 0 0 0 0 0 0 0 1 10 0 1 1 1 1 1 1 0(无溢出,结果正确)X+Y补=001111110 X+Y= +1111110B= +126例 2-17 X= +123、Y= +3 X=123、 Y=3 用变形补码计算X+Y。解 X补=0
21、01111011 X补=1100001011 1 0 0 0 0 1 0 1+ 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 0(无溢出,结果正确)X+Y补=110000010X+Y=1111110B=126第三十四张,PPT共六十页,创作于2022年6月2.3 信 息 的 编 码 每位十进制数用8位二进制编码表示,其中高4位为零。二进制编码的十进制数(BCD码)1. 压缩型BCD码每位十进制数用4位二进制编码表示。2. 非压缩型BCD码第三十五张,PPT共六十页,创作于2022年6月表2.2 8421 BCD码的部分编码十进制数压缩型BCD码非压缩型BCD码00000
22、00000000000010000 00010000000120000 00100000001030000 00110000001140000 01000000010050000 01010000010160000 01100000011070000 01110000011180000 10000000100090000 100100001001100001 000000000001 00000000110001 000100000001 00000001120001 001000000001 0000001036900000011 0110100100000011 00000110 0000
23、1001第三十六张,PPT共六十页,创作于2022年6月例 2-18 用BCD码求8 + 5 。解 0 0 0 0 1 0 0 0加6调整0 0 0 0 1 1 0 1+ 0 0 0 0 0 1 0 1 8+5 =13的BCD码+ 0 0 0 0 0 1 1 0 0 0 0 1 0 0 1 1 非法BCD码(结果9)BCD码运算及其十进制调整第三十七张,PPT共六十页,创作于2022年6月+ 0 0 0 0 1 0 0 0 例 2-19 用BCD码求19+8 。解 0 0 0 1 1 0 0 1、产生了“逢16”进位结果为21的BCD码,错误.0 0 1 0 0 0 0 1加6调整+ 0 0
24、0 0 0 1 1 0 0 0 1 0 0 1 1 119+8 =27的BCD码第三十八张,PPT共六十页,创作于2022年6月例 2-20 用BCD码求 57+65。 .解 0101 0111 .1011 1100+ 0110 0101 + 0110 0110 0000 0001 0010 0010非法BCD码加66调整57+65 =122的BCD码第三十九张,PPT共六十页,创作于2022年6月例2-21 用BCD码求128 解 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 减6调整0 0 0 0 1 0 1 0非法BCD码、产生了“借1当16”的借位128 = 4的BC
25、D码 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 第四十张,PPT共六十页,创作于2022年6月 因此,两个BCD数进行运算时,首先按二进制数进行运算,然后必须用相应的调整指令进行调整,从而得到正确的BCD码结果。有关BCD运算结果的调整指令将在第4章“80 x86指令系统”中介绍。 如果两个对应位BCD数相加的结果向高位无进位,且结果小于或等于9,则该位不需要修正;若得到的结果大于9而小于16,则该位需要加6修正。 如果两个对应位BCD数相加的结果向高位有进位(结果大于或等于16),则该位需要进行加6修正。 第四十一张,PPT共六十页,创作于2022年6月 现代计算机不仅
26、用于处理数值领域的问题,而且要处理大量的非数值领域的问题。必然需要计算机能对数字、字母、文字以及其他一些符号进行识别和处理,而计算机只能处理二进制数,因此,通过输入/输出设备进行人机交换信息时使用的各种字符也必须按某种规则,用二进制数码0和1来编码。目前,国际上在微机、通信设备和仪器仪表中广泛使用的是ASCII码。 ASCII字符编码字符:数字、字母以及其他一些符号的总称。.第四十二张,PPT共六十页,创作于2022年6月 b6b5b4b3b2b1b0000000110102011310041015110611170000 0NULDLESP0P、p0001 1SOHDC1!1AQaq0010
27、 2STXDC2”2BRbr0011 3ETXDC3#3CScs0100 4EOTDC4$4DTdt0101 5ENQNAK%5EUeu0110 6ACKSYN&6FVfv0111 7BELETB7GWgw1000 8BSCAN (8HXhx1001 9HTEM)9IYiy1010 ALFSUB*:JZjz1011 BVTESC+;Kk1100 CFFFS ,Nn1111 F SI US/?OoDEL表2.3 美国标准信息交换码ASCII(7位代码) 第四十三张,PPT共六十页,创作于2022年6月表中有关功能控制符解释如下: NUL(Null) 空SOH(Start Heading)标题开始
28、STX(Start of Text)文本开始ETX(End of Text)文本结束EOT(End of Trasmission)发送结束ENQ(Enquiry)询问BS(Back Space)退格LF(Line Feed) 换行CR(Carriage Return)回车SP(Space)空格. 第四十四张,PPT共六十页,创作于2022年6月2.4 数的定点与浮点表示法 2.4.1 定点表示 .纯整数形式 .纯小数形式 .符号位 数 值 位.小数点(小数点隐藏,在机中不占位).小数点符号位 数 值 位小数点在数中的位置固定。第四十五张,PPT共六十页,创作于2022年6月 (2n1)x2n
29、1 (原码表示) 2nx2n 1 (补码表示) 设用一个n+1位字来表示一个数x,其中最高位表示符号位,其他n位为数值位。对于纯小数表示法,所能表示的数x 的范围为: (12n)x12n (原码表示) 1x12n (补码表示) 对于纯整数表示法,所能表示的数x的范围为:例见表2.1第四十六张,PPT共六十页,创作于2022年6月二进制数编码对 应 十 进 制 真 值无符号数原码反码补码0000 00000+0+0+00000 00011+1+1+10000 00102+2+2+20111 1110126+126 +126 +1260111 1111127+127 +127 +1271000 0
30、00012801271281000 000112911261271000 001013021251261111 1101253125231111 1110254126121111 111125512701表2.1 8位二进制整数编码的各种表示方法对照第四十七张,PPT共六十页,创作于2022年6月(IEEE754)浮点数第四十八张,PPT共六十页,创作于2022年6月背景在IEEE标准754之前,业界并没有一个统一的浮点数标准,相反,很多计算机制造商都设计自己的浮点数规则,以及运算细节。那时,实现的速度和简易性比数字的精确性更受重视。直到1985年Intel打算为其的8086微处理器引进一种浮
31、点数协处理器的时候,聪明地意识到,作为设计芯片者的电子工程师和固体物理学家们,也许并不能通过数值分析来选择最合理的浮点数二进制格式。Intel在请加州大学伯克利分校的 William Kahan教授来为8087 FPU设计浮点数格式; 而这个家伙又找来两个专家来协助他,于是就有了KCS组合(Kahn, Coonan, and Stone)。他们共同完成了Intel的浮点数格式设计,而且完成地如此出色,以致于IEEE组织决定采用一个非常接近KCS的方案作为IEEE的标准浮点格式。目前,几乎所有计算机都支持该标准,大大改善了科学应用程序的可移植性。第四十九张,PPT共六十页,创作于2022年6月表
32、示形式浮点数也是一串0和1构成的位序列(bit sequence)。IEEE标准从逻辑上用三元组S,E,M表示一个数N, n,s,e,m分别为N,S,E,M对应的实际数值,而N,S,E,M仅仅是一串二进制位S(sign)表示N的符号位。对应值s满足:n0时,s=0; n0时,s=1。E(exponent)表示N的指数位,位于S和M之间的若干位。对应值e值也可正可负。M(mantissa)表示N的尾数位,恰好,它位于N末尾。M也叫有效数字位(sinificand)、系数位(coefficient), 甚至被称作“小数”。第五十张,PPT共六十页,创作于2022年6月浮点数格式IEEE标准754规
33、定了三种浮点数格式:单精度、双精度、扩展精度。前两者正好对应C语言里头的float、double或者FORTRAN里头的real、double精度类型。单精度:N共32位,其中S占1位,E占8位,M占23位。双精度:N共64位,其中S占1位,E占11位,M占52位。第五十一张,PPT共六十页,创作于2022年6月浮点数格式M虽然是23位或者52位,但它们只是表示小数点之后的二进制位数,假定 M为“010110011.”, 在二进制数值上其实是“.010110011.”。标准规定小数点左边还有一个隐含位,这个隐含位绝大多数情况下是1。那什么情况下是0呢?答案是N对应的n非常小的时候,比如小于 2
34、-126(32位单精度浮点数)。隐含位算是赚来了一位精度,于是M对应的m最后结果可能是m=1.010110011.”或者“m=0.010110011.”第五十二张,PPT共六十页,创作于2022年6月规格化(normalized)”“非规格化(denormalized)1、规格化:当E的二进制位不全为0,也不全为1时,N为规格化形式。此时e被解释为表示偏置(biased)形式的整数。e值计算公式:|E|表示E的二进制序列表示的整数值,例如E为10000100,则|E|=132,e=132-127=5 。 k则表示E的位数,对单精度来说,k=8,则bias=127,对双精度来说,k=11,则bi
35、as=1023。第五十三张,PPT共六十页,创作于2022年6月规格化(normalized)”“非规格化(denormalized)非规格化:当E的二进制位全部为0时,N为非规格化形式。此时e,m的计算都非常简单。 此时小数点左侧的隐含位为0。 为什么e会等于(1-bias)而不是(-bias),这主要是为规格化数值、非规格化数值之间的平滑过渡设计的。有了非规格化形式,我们就可以表示0了。把符号位S值1,其余所有位均置0后,我们得到了 -0.0; 同理,把所有位均置0,则得到 +0.0。非规格化数还有其他用途,比如表示非常接近0的小数,而且这些小数均匀地接近0,称为“逐渐下溢(gradually underflow)”属性。第五十四张,PPT共六十页,创作于2022年6月规格化(normalized)”“非规格化(denormalized)3、特殊数值: 当E的二进制位全为1时为特殊数值。此时,若M的二进制位全为0,则n表示无穷大,若S为1则为负无穷大,若S为0则为正无穷大; 若M的二进制位不全为0时,表示NaN(Not a Number),表示这不是一个合法实数或无穷,或者该数未经初始化。第五十五张,PPT共六十页,创作于2022年6月范例我们假定N是一个8位浮点数,其中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拼多多果园绿色种植技术托管及销售合作协议
- 虚拟偶像虚拟形象IP授权与开发合同
- 伺服电机租赁与工业机器人性能检测及优化合同
- 集成电路(IC)封装印刷电路板(PCB)定制合作协议
- 高清影视音乐版权合作及保密条款
- 智能家居系统数据安全与隐私保护责任书
- 智能家居数据库使用权许可与家居安全合同
- DB42-T 2016-2023 土工格栅加筋土路基设计与施工技术规范
- 妇产护士年终总结模版
- 吉林油田第十二中学2024~2025学年度下学期第三次综合模拟测试 九年级历史(含答题卡、答案)
- 2025-2030中国印度醋栗提取行业市场发展趋势与前景展望战略研究报告
- 《智能制造技术》课件全套 第1-7章 智能制造概述-智能制造生态
- 2025届福建省多地市联考高三下学期二模物理试题(原卷版+解析版)
- 2025北京各区高三一模数学分类汇编解析 答案
- 制冷机组维保合同标准文本
- 胃肠炎护理教学查房
- 护士站管理制度
- 奶茶饮品采购合同协议
- 铁道概论道岔的结构课件
- (一模)2025年抚顺市普通高中高三模拟考试地理试卷(含答案)
- 2025年骨干教师复试试题及答案
评论
0/150
提交评论