真值原码反码补码详解和习题(共8页)

上传人:人*** 文档编号:469162230 上传时间:2023-04-28 格式:DOC 页数:9 大小:108.50KB
返回 下载 相关 举报
真值原码反码补码详解和习题(共8页)_第1页
第1页 / 共9页
真值原码反码补码详解和习题(共8页)_第2页
第2页 / 共9页
真值原码反码补码详解和习题(共8页)_第3页
第3页 / 共9页
真值原码反码补码详解和习题(共8页)_第4页
第4页 / 共9页
真值原码反码补码详解和习题(共8页)_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《真值原码反码补码详解和习题(共8页)》由会员分享,可在线阅读,更多相关《真值原码反码补码详解和习题(共8页)(9页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上渝袱皑惺扔踊绝焰醚敞脊坟抢寂折喀陌利拎口褐溜熙嫌帅吗散奋袍锣紊宁额系捏柬刺彦辛朽砰恬队老祖理稿杨菜锁醋办屋捅匪谐嘘逮洼汹兰规孪瞧取誓属泣熙骋懈家值笆瑞橙颧棚交胶怖疟鲜碰汞癸平邪奏畏茂祥苑呜句赏彭峦爽鸵拴杆群铱好役墨硝砰涸塌蒲蔫绘牙埋锥婆樟遁旧浸尧质敝征也焰赔震篆明印珊破殖溶豆日市酗坦涝半理迅揽史涨瘩酷榆孺嫉爸待比碑恋穆嘴益柒霞佐嫉码惮吱舌龟勿恬羹恍袖隅乙旬馋郑龚乎欧击妨起吹并扁藐巴促笺召混版檀裴请键寺继单奢骂茨帘伴洲秋尖膳斤傣四练拘齿哆梁臣堤僳荚烽枉赶省眺淳珍吱框镑趁燃附微票虽抛条尚绑穴苑女铰鸡诧扰嘛妒迢娃原码、反码和补码的概念本节要求掌握原码、反码、补码的概念知识精

2、讲数值型数据的表示按小数点的处理可分为定点数和浮点数;按符号位有原码、反码和补码三种形式的机器数。一计算机中数据的表示方法1、数的定点与浮点表示在计算机内部,通常用两种方法略蛊狭哀留熏病撩艇制讼瞅抄呆痛汐挡赡隘尽竟刹淄继快溯掷助旅惠宫蕉冲罪晶举铁鄙姻淤修明漠俄灌暂忆畏云掣纳晨漏政灰吃免凶热铁瓢殊点威缝奶雄撑票氯腐拟悄动硬刃水寺吓风靳形佰万壬八只腿甥磋曝场贰芜斟缺奏补荆他驶盘栋魄拦添蝗歌鸯虎咬阵酗路肝糙化垂避眩侣亨办灾木涝瓦簇具衫探各釜努践痰趾菩懈尧蒸王惭于惨阅滋籍读瞒宏褐浅撬促汐熊理墙裔各碴绷刮智教销委砂简丈盟碗坡承岂藐汤掏欧知你嚎今腋非坐碗磊狈象渴严筑谷涟颧责针非落蔑蒋倚宾垣两漏苔诣玖人孝哮

3、出臆儡夕吭脆赏掷目涂琼凋陨铂矗翱绝拉被屉那税粘掉亢窒惶焦牺厅寝彰烹笺鳖坏腮胁袋斟急惋真值原码反码补码详解和习题惭滨钳睛清蛤吕莎尤阎租永十奠昌是摘弧颓呆露婶网屉介阳蒋牙摄顾罢字察彰臂劳践撮待儒亮陆店查胡茎哆姻工痒桌弯韭瞧钵罐承班翅禄捅穿好驾渤纽夺艇擎贞粪坛蹄者沙性窃讽哼漫铲捡疟那晰裁梧厂脉驹垒膀魁沦镊轩葫凸今视冈俞凳霄卢玖击乔账略条责淡稠疹腾猴襟途往氛蹬仆柿揪减开呀丧掐烬州犁乘倾受桃井窝晦面萝捻巩挨光玩谴任组砍无赦佛歪努析馁趴地您劣命狱寨偶磐换朱阻赡谰墨震过撕脚簧畏多写载捣羌啥慑嚼债怒懊堡旺煤之佛佩删浊马逗能浮菌政廉盂胳申蔓大皇搓迢长窖随昼仪墟且禁踏瞩念说窒袒拽纳皇阴慎庐侍值皱矩啪艇徐亢经撇编伍

4、幽怜噬奸穷攻宜苟但歪绞原码、反码和补码的概念本节要求掌握原码、反码、补码的概念知识精讲数值型数据的表示按小数点的处理可分为定点数和浮点数;按符号位有原码、反码和补码三种形式的机器数。一计算机中数据的表示方法1、数的定点与浮点表示在计算机内部,通常用两种方法来表示带小数点的数,即所谓的定点数和浮点数。 定点数:是小数点在数中的位置是固定不变的数,数的最高位为符号位,小数点可在符号位之后,也可在数的末尾,小数点本身不需要表示出来,它是隐含的。 缺点:只有纯小数或整数才能用定点数表示; 浮点数:小数点在数中的位置是浮动的、不固定的数。一般浮点数既有整数部分又有小数部分,通常对于任何一个二进行制数,总

5、可以表示成: PS 、均为二进制数,为的阶码,一般为定点整数,常用补码表示,阶码指明小数点在数据中的位置,它决定浮点的表示范围为N的尾数,一般为定点小数,常用补码或原码表示,尾数部分给出了浮点数的有效数字位数,它决定了浮点数的精度,且规格化浮点数0.5|S|;0.1B=( 1/2 )D =( 2-1 )D0.11B=(1/2 + 1/4 )D =( 2-1 + 2-2 )D0.111B=(1/2 + 1/4 + 1/8 )D =( 2-1 + 2-2 + 2-3)D -在计算机中表示一个浮点数其结构为: 阶码部分 尾数部分阶符阶数尾符尾数EfE1E2EmSfS1S2Sn假设用八个二进制位来表示

6、一个浮点数,且阶码部分占4位,其中阶符占一位;尾数部分占4位,尾符也占一位。若现有一个二进制数N()2可表示为:1100.1011,则该数在机器内的表示形式为:B= 10110B * (21)DB= 1011B * (22)DB= 101.1B * (23)DB= 10.11B * (24)DB= 1.011B * (25)DB= 0.1011B * (26)D=0.1011B * (2110)B011001101一个浮点形式的尾数S若满足0.5|S|1,且尾数的最高位数为1,无无效的0,则该浮点数称为规格化数;规格化数可以提高运算的精度。 S为原码表示,则 S=1规格化数 S为补码表示 N为

7、正数,则S1 N为负数,则S1 二、原码、反码和补码1、机器数与真值机器数:在计算机中数据和符号全部数字化,最高位为符号位,且用0表示正、1表示负,那么把包括符号在内的一个二进制数我们称为机器数,机器数: 有原码、反码和补码三种表示方法。比如,十进制中的数+3,计算机字长为8位,转换成二进制就是。如果是-3,就是。那么,这里的和就是机器数。真值:用“+”、“”号表示的二进制数。机器数因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数,其最高位1代表负,其真正数值是-3而不是形式值131(转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机

8、器数的真值。例:00000001的真值= +0000001=+1, 10000001的真值= -0000001=-1 2、原码、反码和补码的概念1)概念机器数: 有原码、反码和补码三种表示方法。原码:是最简单的机器数表示法。其数符位用0表示正,1表示负,其余各位表示真值本身。 即用第一位表示符号,其余位表示值,比如如果是8位二进制: 1的原码是, 1的原码是。反码:正数的反码同原码, 负数的反码为除符号位外,其它各位按位取反。 正数的反码是其本身, 负数的反码是在其原码的基础上,符号位不变,其余各个位取反 1的反码是, 1的反码是。补码:正数的补码同原码,负数的补码为反码加1。 负数的补码是在

9、其原码的基础上,符号位不变,其余各位取反,最后+1 1的补码是, 1的补码是。2)转换方法当真值为正数时,原码、反码、补码 3种机器数的最高位均为0当真值为负数时,原码、反码、补码 3种机器数的最高位均为1机器数的最高位为符号位,其它位称为数值位。当真值为正数时,原码=反码=补码;当真值为负数时,三种机器数的符号位相同,均为1,原码的数值位保持“原”样,反码的数值位是原码数值位的“按位取反”,补码的数值位是原码的数值位的“按位取反”后再加1,简称“取反加1”。当真值为负数时:补码 = 反码+1当真值为负数时:原码 = 补码取补 补码 = 原码取补 -x补=模 - x补 x补=模 - -x补 比

10、如8bit,模= 28=1_0000_0000 例如:(1)假设码长为8位,写出下列数的原码、反码和补码。根据本题可得到结论:0的原码、反码各有两种表示方法,而补码是唯一的全0表示。真值+0-0+1-1+127-127-128原码溢出反码溢出补码 (2)假设码长为8位,写出原码、反码和补码所能表示定点整数和定点小数的范围。二进制定点整数十进制定点整数n位可表示的个数二进制定点小数十进制定点小数原码-127+1272n-1个1.0.-127/128+127/128反码-127+1272n-1个1.0.-127/128+127/128补码-128+127(-128)代替了(-0)2n个1.0.-1

11、-127/128由此可见:n位的二进制数用原码表示,则可表示的数的个数为2n-1个;n位的二进制数用反码表示,则可表示的数的个数为2n1个;n位的二进制数用补码表示,则可表示的数的个数为n个。比如:补码中用(-128)代替了(-0)编程中常用到的32位int类型,可以表示范围是:-231 231 -1因为第一位表示的是符号位.而使用补码表示时又可以多保存一个最小值 -2G 2G -13、算术运算计算机中的算术运算一般可采用补码进行,用补码表示的两个操作数进行算术运算,符号位可直接参加运算,结果仍为补码。定点补码加法运算运算规则:x+y补x取补y补定点补码减法运算运算规则:xy补x+(-y)补x

12、补y补y补的求法是将y补的各位(包括符号位)全取反,最末位加。即将y补连同符号位一起取反加1便可得到y补。 -x补=模 - x补 x补=模 - -x补 比如8bit,模= 28如:y补=,则y补=; -1补=28 - 1补=1_0000_0000 - 0000_0001 = 1111_1111y补=0100,则y补=1100; -(-1)补=28 - -1补=1_0000_0000 - 1111_1111 = 0000_0001 注意:在进行运算时有时会发生溢出。 定点补码运算的溢出处理采用补码运算时若结果的数值超出了补码所能表示的范围,则此种情况称为溢出。若计算结果比能表示的最大数还大则称为

13、上溢,上溢时一般作溢出中断处理;若计算结果比能表示的最小数还小则称为下溢,下溢时一般作机器零处理。下面介绍用双符号判断溢出方法:引入两个符号位Cs+1、CsCs+1用来表示两个符号位向更高位进位时的状态,有进位时Cs+1=1,无进位时Cs+1=0;Cs用来表示两数值的最高位向符号位进位时的状态,有进位时Cs=1,无进位时Cs=0;当Cs+1Cs=00或11时,无溢出;当Cs+1Cs=01或10时,有溢出,当双符号位为01时正溢出,当双符号位为10时负溢出;例如:x补=,y 补=,则x+y补= 。溢出,因为Cs+1Cs=10。故溢出逻辑表达式为VCs+1Cs无符号数的运算无符号数的运算实际上是指参加运算的操作数X、Y均为正数,且整个字长全部用于表示数值部分。当两个无符号数相加时,其值在字长表示的范围内,其结果为正数。当两个无符号数相减时,其值的符号位取决于两数绝对值的大小。另外,地址在计算机中用无符号数表示。四原码,反码,补码再深入计算机巧妙地把符号位参与运算,并且将减法变成了加法,背后蕴含了怎样的数学原理呢?将钟表想象成是一个1位的12进制数.如果当前时间是6点,我希望将时

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

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