无符号数和有符号数课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《无符号数和有符号数课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 符号 课件
- 资源描述:
-
1、计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法6.1 无符号数和有符号数无符号数和有符号数6.3 定点运算定点运算6.2 数的定点表示和浮点表示数的定点表示和浮点表示6.4 浮点四则运算浮点四则运算6.5 算术逻辑单元算术逻辑单元计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法6.1 无符号数和有符号数无符号数和有符号数一、无符号数一、无符号数寄存器的位数寄存器的位数反映无符号数的表示范围反映无符号数的表示范围 8 位位 0 25516 位位 0 65535计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法带符号的数
2、带符号的数 符号数字化的数符号数字化的数+0.10110 1011小数点的位置小数点的位置+11000 1100小数点的位置小数点的位置 11001 1100小数点的位置小数点的位置 0.10111 1011小数点的位置小数点的位置真值真值 机器数机器数1.机器数与真值机器数与真值二、有符号数二、有符号数计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法2.原码表示法原码表示法带符号的绝对值表示带符号的绝对值表示(1)定义定义整数整数x 为真值为真值n 为整数的位数为整数的位数如如x=+1110 x原原=0,1110 x原原=24+1110=1,1110 x=1110
3、x原原=0,x 2n x 02n x 0 x 2n用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法小数小数x 为真值为真值如如x=+0.1101x原原=0.1101 x=0.1101x原原=1 (0.1101)=1.1101 x 1 x 0 x原原=1 x 0 x 1x=0.1000000 x原原=1 (0.1000000)=1.1000000 x=+0.1000000 x原原=0.1000000用用 小数点小数点 将符号将符号位和数值位隔开位和数值位隔开用用 小数点小数点 将符号将符号位和数值位隔开位和数值位隔
4、开计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(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.4 求求 x=0 的原码的原码解解:设设 x=+0.0000例例 6.3 已知已知 x原原=0.1101 求求 x解:解:x =+0.1101同理,对于整
5、数同理,对于整数+0原原=0,0000+0.0000原原=0.0000 x=0.0000 0.0000原原=1.0000 0原原=1,0000 +0原原 0原原 根据根据 定义定义 x原原=0.1101计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法原码的特点:原码的特点:简单、直观简单、直观 但是用原码做加法时,会出现如下问题:但是用原码做加法时,会出现如下问题:能否能否 只做加法只做加法?找到一个与负数等价的正数找到一个与负数等价的正数 来代替这个负数来代替这个负数就可使就可使 减减 加加加法加法 正正 正正加加加法加法 正正 负负加法加法 负负 正正 加法加法
6、负负 负负减减减减加加 要求要求 数数1 数数2 实际操作实际操作 结果符号结果符号正正可正可负可正可负 可正可负可正可负 负负计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(1)补的概念补的概念 时钟时钟逆时针逆时针-363顺时针顺时针+9 615-1233.补码表示法补码表示法可见可见 3 可用可用+9 代替代替记作记作 3 +9(mod 12)同理同理 4 +8(mod 12)5 +7(mod 12)时钟以时钟以 12为模为模减法减法 加法加法称称+9 是是 3 以以 12 为模的补数为模的补数计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的
7、运算方法结论结论 一个负数加上一个负数加上“模模”即得该负数的补数即得该负数的补数 两个互为补数的数两个互为补数的数 它们绝对值之和即为它们绝对值之和即为 模模 数数 计数器计数器(模(模 16)101110110000+0101 1011100001011 0000?可见可见 1011 可用可用+0101 代替代替记作记作 1011+0101 (mod 24)同理同理 011+101 (mod 23)0.1001+1.0111(mod 2)自然去掉自然去掉 计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法+0101(mod24)1011(mod24)(2)正数的补数
8、即为其本身正数的补数即为其本身+10000+10000两个互为补数的数两个互为补数的数+0101+10101分别加上模分别加上模结果仍互为补数结果仍互为补数+0101 +0101 +010124+1 10111,0101用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开丢掉丢掉 10110,1,?1011(mod24)可见可见?+01010101010110110101+(mod24+1)100000=计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(3)补码定义补码定义整数整数x 为真值为真值n 为整数的位数为整数的位数x补补=0,x 2n x 02n+1+x
9、 0 x 2n(mod 2n+1)如如x=+1010 x补补=27+1+(1011000)=1000000001011000 x补补=0,1010 x=10110001,0101000用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法小数小数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用用 小数点小数点 将符号位将符号位和数值位隔
10、开和数值位隔开计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(4)求补码的快捷方式求补码的快捷方式=100000=1,011010101+1=1,0110 又又x原原=1,1010则则x补补=24+1 1010=11111+1 1010=1111110101010当真值为当真值为 负负 时,时,补码补码 可用可用 原码除符号位外原码除符号位外每位取反,末位加每位取反,末位加 1 求得求得+1设设 x=1010 时时计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(5)举例举例解:解:x=+0.0001解:由定义得解:由定义得x=x补补 2=
11、1.0001 10.0000 x原原 =1.1111例例 6.6 已知已知 x补补=1.0001求求 xx补补 x原原?由定义得由定义得例例 6.5 已知已知 x补补=0.0001求求 x x =0.1111=0.1111 计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法例例 6.7解:解:x=x补补 24+1=1,1110 100000 x原原 =1,0010当真值为当真值为 负负 时,时,原码原码 可用可用 补码除符号位外补码除符号位外每位取反,末位加每位取反,末位加 1 求得求得x补补 x原原?x=0010=0010求求 x已知已知 x补补=1,1110由定义得
12、由定义得计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法真值真值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补补由小数补码定义由小数补码定义x补补=x 1 x 02+x 0 x 1(mod 2)=10
13、00110=1000110 x补补 x原原计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法4.反码表示法反码表示法(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 为整数的位数为整数的位数计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法小数小数x=+0.1101x反反=0.1101x=0.1
14、010 x反反=(2 2-4)0.1010=1.1111 0.1010=1.0101如如x反反=x 1 x 0(2 2-n)+x 0 x 1(mod 2 2-n)用用 小数点小数点 将符号位将符号位和数值位隔开和数值位隔开x 为真值为真值计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(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反反=
15、1,1110 求求 x由定义得由定义得x=x反反 (24+1 1)=1,1110 11111=0001例例6.8 已知已知 x反反=0,1110 求求 x解:解:由定义得由定义得 x=+1110解:解:计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法三种机器数的小结三种机器数的小结 对于对于正数正数,原码原码=补码补码=反码反码 对于对于负数负数,符号位为符号位为 1,其其 数值部分数值部分原码除符号位外每位取反末位加原码除符号位外每位取反末位加 1 补码补码原码除符号位外每位取反原码除符号位外每位取反 反码反码 最高位最高位为为符号位符号位,书写上用,书写上用“,”
16、(整数)(整数)或或“.”(小数)将数值部分和符号位隔开(小数)将数值部分和符号位隔开计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法000000000000000100000010011111111000000010000001111111011111111011111111128129-0-1-128-127-127-126二进制代码二进制代码 无符号数无符号数对应的真值对应的真值原码对应原码对应 的真值的真值补码对应补码对应 的真值的真值反码对应反码对应 的真值的真值012127253254255-125-126-127-3-2-1-2-1-0+0+1+2+12
17、7+0+1+2+127+0+1+2+127+0例例6.11:设机器数字长为设机器数字长为 8 位(其中一位为符号位(其中一位为符号位)位),对于整数,当其分别代表无符号数、原码、补对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少?码和反码时,对应的真值范围各为多少?计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法例例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-
18、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 yn每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1每位取反,每位取反,即得即得 y补补y补补连同符号位在内,连同符号位在内,末位加末位加 1计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法5.移码表示法移码表示法补码表示很难直接判断其真值大小补码表示很难直接判断其真值大小如如十进制十进制x=+21x=21x=+31x=31x+25+10101+100000+11111+10000010
19、101+10000011111+100000大大大大错错错错大大大大正确正确正确正确0,101011,010110,111111,00001+10101 10101+11111 11111=110101=001011=111111=000001二进制二进制补码补码计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(1)移码定义移码定义x 为真值,为真值,n 为为 整数的位数整数的位数移码在数轴上的表示移码在数轴上的表示x移码移码2n+112n2n 12n00真值真值如如x=10100 x移移=25+10100用用 逗号逗号 将符号位将符号位和数值位隔开和数值位隔开x=1
20、0100 x移移=25 10100 x移移=2n+x(2nx 2n)=1,10100=0,01100计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法(2)移码和补码的比较移码和补码的比较设设 x=+1100100 x移移=27+1100100 x补补=0,1100100设设 x=1100100 x移移=27 1100100 x补补=1,0011100补码与移码只差一个符号位补码与移码只差一个符号位=1,1100100=0,00111001001计算机组成原理计算机组成原理第六章第六章 计算机的运算方法计算机的运算方法-1 0 0 0 0 0-1 1 1 1 1-1 1
展开阅读全文