(8.3.7)--06-计算机的运算方法.ppt
《(8.3.7)--06-计算机的运算方法.ppt》由会员分享,可在线阅读,更多相关《(8.3.7)--06-计算机的运算方法.ppt(111页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章第六章 计算机的运算方法计算机的运算方法6.1 无符号数和有符号数无符号数和有符号数6.3 定点运算定点运算6.2 数的定点表示和浮点表示数的定点表示和浮点表示6.4 浮点四则运算浮点四则运算6.5 算术逻辑单元算术逻辑单元6.1 无符号数和有符号数无符号数和有符号数一、无符号数一、无符号数寄存器的位数寄存器的位数反映无符号数的表示范围反映无符号数的表示范围 8 位位 0 25516 位位 0 65535带符号的数带符号的数 符号数字化的数符号数字化的数+0.10110 1011小数点的位置小数点的位置+11000 1100小数点的位置小数点的位置 11001 1100小数点的位置小数点
2、的位置 0.10111 1011小数点的位置小数点的位置真值真值 机器数机器数1.机器数与真值机器数与真值二、有符号数二、有符号数6.12.原码表示法原码表示法带符号的绝对值表示带符号的绝对值表示(1)定义定义整数整数x 为真值为真值n 为整数的位数为整数的位数如如x=+1110 x原原=0,1110 x原原=24+1110=1,1110 x=1110 x原原=0,x 2n x 02n x 0 x 2n用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开6.1小数小数x 为真值为真值如如x=+0.1101x原原=0.1101 x=0.1101x原原=1 (0.1101)=1.1101 x
3、1 x 0 x原原=1 x 0 x 1x=0.1000000 x原原=1 (0.1000000)=1.1000000 x=+0.1000000 x原原=0.1000000用用 小数点小数点 将符号将符号位和数值位隔开位和数值位隔开用用 小数点小数点 将符号将符号位和数值位隔开位和数值位隔开6.1(2)举例举例例例 6.1 已知已知 x原原=1.0011 求求 x解解:例例 6.2 已知已知 x原原=1,1100 求求 x解解:x=1 x原原=1 1.0011=0.0011x=24 x原原=10000 1,1100=1100 0.00111100由定义得由定义得由定义得由定义得6.1例例 6.4
4、 求求 x=0 的原码的原码解解:设设 x=+0.0000例例 6.3 已知已知 x原原=0.1101 求求 x解:解:x =+0.1101同理,对于整数同理,对于整数+0原原=0,0000+0.0000原原=0.0000 x=0.0000 0.0000原原=1.0000 0原原=1,0000 +0原原 0原原 根据根据 定义定义 x原原=0.11016.1原码的特点:原码的特点:简单、直观简单、直观但是用原码做加法时,会出现如下问题:但是用原码做加法时,会出现如下问题:能否能否 只做加法只做加法?找到一个与负数等价的正数找到一个与负数等价的正数 来代替这个负数来代替这个负数就可使就可使 减减
5、 加加加法加法 正正 正正加加加法加法 正正 负负加法加法 负负 正正加法加法 负负 负负减减减减加加 要求要求 数数1 数数2 实际操作实际操作 结果符号结果符号正正可正可负可正可负可正可负可正可负负负6.1(1)补的概念补的概念 时钟时钟逆时针逆时针-363顺时针顺时针+9 615-1233.补码表示法补码表示法可见可见 3 可用可用+9 代替代替记作记作 3 +9(mod 12)同理同理 4 +8(mod 12)5 +7(mod 12)时钟以时钟以 12为模为模减法减法 加法加法称称+9 是是 3 以以 12 为模的补数为模的补数6.1结论结论 一个负数加上一个负数加上“模模”即得该负数
6、的补数即得该负数的补数 两个互为补数的数两个互为补数的数 它们绝对值之和即为它们绝对值之和即为 模模 数数 计数器计数器(模(模 16)101110110000+0101 1011100001011 0000?可见可见 1011 可用可用+0101 代替代替记作记作 1011+0101 (mod 24)同理同理 011+101 (mod 23)0.1001+1.0111(mod 2)自然去掉自然去掉6.1+0101(mod24)1011(mod24)(2)正数的补数即为其本身正数的补数即为其本身+10000+10000两个互为补数的数两个互为补数的数+0101+10101分别加上模分别加上模结
7、果仍互为补数结果仍互为补数+0101 +0101 +010124+1 10111,0101用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开丢掉丢掉 10110,1,?1011(mod24)可见可见?+01010101010110110101+(mod24+1)6.1100000=(3)补码定义补码定义整数整数x 为真值为真值n 为整数的位数为整数的位数x补补=0,x 2n x 02n+1+x 0 x 2n(mod 2n+1)如如x=+1010 x补补=27+1+(1011000)=1000000001011000 x补补=0,1010 x=10110001,0101000用用 逗号逗号
8、 将符号位将符号位和数值位隔开和数值位隔开6.1小数小数x 为真值为真值x=+0.1110 x补补=x 1 x 02+x 0 x 1(mod 2)如如x补补=0.1110 x=0.11000001.0100000 x补补=2+(0.1100000)=10.00000000.1100000用用 小数点小数点 将符号位将符号位和数值位隔开和数值位隔开6.1(4)求补码的快捷方式求补码的快捷方式=100000=1,011010101+1=1,0110 又又x原原=1,1010则则x补补=24+1 1010=11111+1 1010=1111110101010当真值为当真值为 负负 时,时,补码补码
9、可用可用 原码除符号位外原码除符号位外每位取反,末位加每位取反,末位加 1 求得求得6.1+1设设 x=1010 时时(5)举例举例解:解:x=+0.0001解:由定义得解:由定义得x=x补补 2=1.0001 10.0000 x原原 =1.1111例例 6.6 已知已知 x补补=1.0001求求 xx补补 x原原?由定义得由定义得6.1例例 6.5 已知已知 x补补=0.0001求求 x x =0.1111=0.1111 例例 6.7解:解:x=x补补 24+1=1,1110 100000 x原原 =1,0010当真值为当真值为 负负 时,时,原码原码 可用可用 补码除符号位外补码除符号位外
10、每位取反,末位加每位取反,末位加 1 求得求得x补补 x原原?x=0010=0010求求 x已知已知 x补补=1,1110由定义得由定义得6.1真值真值0,10001101,01110100.11101.00100.00000.00001.00000,10001101,10001100.11101.11100.00001.0000不能表示不能表示练习练习求下列真值的补码求下列真值的补码x=+70 x=0.1110 x=0.0000 x=70 x=0.1110 x=0.0000 x=1.0000 1补补=2+x=10.0000 1.0000=1.0000+0补补=0补补由小数补码定义由小数补码定
11、义x补补=x 1 x 02+x 0 x 1(mod 2)=1000110=1000110 x补补 x原原6.14.反码表示法反码表示法(1)定义定义整数整数x反反=0,x 2n x 0(2n+1 1)+x 0 x 2n(mod 2n+1 1)如如x =+1101x反反=0,1101=1,0010 x=1101x反反=(24+1 1)1101=11111 1101用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x 为真值为真值n 为整数的位数为整数的位数6.1小数小数x=+0.1101x反反=0.1101x=0.1010 x反反=(2 2-4)0.1010=1.1111 0.1010=1
12、.0101如如x反反=x 1 x 0(2 2-n)+x 0 x 1(mod 2 2-n)用用 小数点小数点 将符号位将符号位和数值位隔开和数值位隔开x 为真值为真值6.1(2)举例举例例例 6.10 求求 0 的反码的反码设设 x=+0.0000 x=0.0000+0.0000反反=0.0000 0.0000反反=1.1111 +0反反 0反反 解:解:同理,对于整数同理,对于整数+0反反=0,0000 0反反=1,1111例例6.9 已知已知 x反反=1,1110 求求 x由定义得由定义得x=x反反 (24+1 1)=1,1110 11111=0001例例6.8 已知已知 x反反=0,111
13、0 求求 x解:解:由定义得由定义得 x=+1110解:解:6.1三种机器数的小结三种机器数的小结 对于对于正数正数,原码原码=补码补码=反码反码 对于对于负数负数,符号位为符号位为 1,其其 数值部分数值部分原码除符号位外每位取反末位加原码除符号位外每位取反末位加 1 补码补码原码除符号位外每位取反原码除符号位外每位取反 反码反码 最高位最高位为为符号位符号位,书写上用,书写上用“,”(整数)(整数)或或“.”(小数)将数值部分和符号位隔开(小数)将数值部分和符号位隔开6.1例例6.11 0000000000000001000000100111111110000000100000011111
14、11011111111011111111128129-0-1-128-127-127-126二进制代码二进制代码 无符号数无符号数对应的真值对应的真值原码对应原码对应 的真值的真值补码对应补码对应 的真值的真值反码对应反码对应 的真值的真值012127253254255-125-126-127-3-2-1-2-1-0+0+1+2+127+0+1+2+127+0+1+2+1276.1+0 设机器数字长为设机器数字长为 8 位(其中一位为符号位)位(其中一位为符号位)对于整数,当其分别代表无符号数、原码、补码和对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?反码时,对应
15、的真值范围各为多少?例例6.12 解:解:已知已知 y补补 求求 y补补 y补补=0.y1 y2 yny=0.y1 y2 yny=0.y1 y2 yn y补补=1.y1 y2 yn+2-n y补补=1.y1 y2 yn y原原=1.y1 y2 yn+2-n y=(0.y1 y2 yn+2-n)y=0.y1 y2 yn+2-n y补补=0.y1 y2 yn+2-n设设 y补补=y0.y1 y2 yn6.1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 15.移码表示法
16、移码表示法补码表示很难直接判断其真值大小补码表示很难直接判断其真值大小如如 十进制十进制x=+21x=21x=+31x=31x+25+10101+100000+11111+10000010101+10000011111+100000大大大大错错错错大大大大正确正确正确正确0,101011,010110,111111,00001+10101 10101+11111 11111=110101=001011=111111=000001二进制二进制补码补码6.1(1)移码定义移码定义x 为真值,为真值,n 为为 整数的位数整数的位数移码在数轴上的表示移码在数轴上的表示x移码移码2n+112n2n 12
17、n00真值真值如如x=10100 x移移=25+10100用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x=10100 x移移=25 10100 x移移=2n+x(2nx 2n)=1,10100=0,011006.1(2)移码和补码的比较移码和补码的比较设设 x=+1100100 x移移=27+1100100 x补补=0,1100100设设 x=1100100 x移移=27 1100100 x补补=1,0011100补码与移码只差一个符号位补码与移码只差一个符号位=1,1100100=0,001110010016.1-1 0 0 0 0 0-1 1 1 1 1-1 1 1 1 0-0
18、 0 0 0 1 0 0 0 0 0+0 0 0 0 1+0 0 0 1 0+1 1 1 1 0+1 1 1 1 1真值真值 x(n=5)x补补x移移x 移移对应的对应的十进制整数十进制整数(3)真值、补码和移码的对照表真值、补码和移码的对照表0123132333462630 0 0 0 0 00 0 0 0 1 00 0 0 0 0 10 1 1 1 1 11 0 0 0 0 01 0 0 0 0 11 0 0 0 1 01 1 1 1 1 01 1 1 1 1 10 1 1 1 1 10 1 1 1 1 00 0 0 0 1 00 0 0 0 0 10 0 0 0 0 01 1 1 1 1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 8.3 06 计算机 运算 方法
限制150内