真值原码反码补码详解和习题

真值原码反码补码详解和习题

ID:47542870

大小:116.50 KB

页数:8页

时间:2020-01-14

真值原码反码补码详解和习题_第1页
真值原码反码补码详解和习题_第2页
真值原码反码补码详解和习题_第3页
真值原码反码补码详解和习题_第4页
真值原码反码补码详解和习题_第5页
资源描述:

《真值原码反码补码详解和习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.原码、反码和补码的概念本节要求掌握原码、反码、补码的概念知识精讲数值型数据的表示按小数点的处理可分为定点数和浮点数;按符号位有原码、反码和补码三种形式的机器数。一.计算机中数据的表示方法1、数的定点与浮点表示在计算机内部,通常用两种方法来表示带小数点的数,即所谓的定点数和浮点数。①定点数:是小数点在数中的位置是固定不变的数,数的最高位为符号位,小数点可在符号位之后,也可在数的末尾,小数点本身不需要表示出来,它是隐含的。缺点:只有纯小数或整数才能用定点数表示;②浮点数:小数点在数中的位置是浮动的、不固定的数。一般浮点数既

2、有整数部分又有小数部分,通常对于任何一个二进行制数N,总可以表示成:N=±2P×SN、P、S均为二进制数,P为N的阶码,一般为定点整数,常用补码表示,阶码指明小数点在数据中的位置,它决定浮点的表示范围S为N的尾数,一般为定点小数,常用补码或原码表示,尾数部分给出了浮点数的有效数字位数,它决定了浮点数的精度,且规格化浮点数0.5≤

3、S

4、<1;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-----------

5、----------------在计算机中表示一个浮点数其结构为:阶码部分尾数部分阶符阶数尾符尾数EfE1E2…EmSfS1S2…Sn假设用八个二进制位来表示一个浮点数,且阶码部分占4位,其中阶符占一位;尾数部分占4位,尾符也占一位。若现有一个二进制数N=(101100)2可表示为:2110×0.1011,则该数在机器内的表示形式为:101100B=10110B*(21)D101100B=1011B*(22)D101100B=101.1B*(23)D101100B=10.11B*(24)D101100B=1.011B*(

6、25)D101100B=0.1011B*(26)D=0.1011B*(2110)B011001101一个浮点形式的尾数S若满足0.5≤

7、S

8、<1,且尾数的最高位数为1,无无效的0,则该浮点数称为规格化数;规格化数可以提高运算的精度。S为原码表示,则S1=1规格化数word范文.S为补码表示N为正数,则S1=1N为负数,则S1=0二、原码、反码和补码1、机器数与真值机器数:在计算机中数据和符号全部数字化,最高位为符号位,且用0表示正、1表示负,那么把包括符号在内的一个二进制数我们称为机器数,机器数:有原码、反码和补码三种表

9、示方法。比如,十进制中的数 +3 ,计算机字长为8位,转换成二进制就是00000011。如果是 -3 ,就是 10000011 。 那么,这里的 00000011 和 10000011 就是机器数。真值:用“+”、“—”号表示的二进制数。机器数因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数 10000011,其最高位1代表负,其真正数值是 -3 而不是形式值131(10000011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。 例:0000 0

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

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

12、“按位取反”,补码的数值位是原码的数值位的“按位取反”后再加1,简称“取反加1”。当真值为负数时:补码=反码+1当真值为负数时:原码=[补码]取补补码=[原码]取补word范文.[-x]补=模-[x]补[x]补=模-[-x]补比如8bit,模=28=1_0000_0000例如:(1)假设码长为8位,写出下列数的原码、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。