计算机中数的表示(讲稿)

计算机中数的表示(讲稿)

ID:37498404

大小:127.00 KB

页数:18页

时间:2019-05-12

计算机中数的表示(讲稿)_第1页
计算机中数的表示(讲稿)_第2页
计算机中数的表示(讲稿)_第3页
计算机中数的表示(讲稿)_第4页
计算机中数的表示(讲稿)_第5页
资源描述:

《计算机中数的表示(讲稿)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机中数的表示知识回顾1、计算机中的数是用二进制表示的。2、二进制数的运算(1)算术运算+-×÷(2)逻辑运算NOTANDORXOR(3)移位运算左移右移无符号整数的表示无符号的整数,就是从0到无穷大的自然数。表示这种数时不需要考虑符号,只需要将它转化成二进制,然后存放在计算机中即可。计算机保存的无符号数的范围是有限的。根据数制的定义公式,一个n位无符号二进制数的最大值是:2n-1长度无符号二进制数范围8位0~25516位0~6553532位0~4294967295带符号整数的表示计算机中参与计算的数,显然是有正有负

2、的。带符号的二进制整数存在多种表示方法,下面介绍一下二进制数的:1、原码2、反码3、补码原码如果用二进制数的最高位表示其符号,用剩下的位表示其绝对值,这样得到的二进制数的表示就是原码。原码表示中,正数的最高位为0,负数的最高位为1。例如:整数(+105)10,其8位二进制原码为:01101001;整数(-105)10,其8位二进制原码为:11101001。上面的表示中,二进制数01101001和11101001,称为机器数,而其实际所代表的值+105和-105,称为该机器数的真值。原码表示的优点是简单易懂,与真值的换算

3、方便。但用原码计算时,如果两个异号数相加或者同号数相减,就需要用到减法。在计算机设计中,要尽量将运算用加法和移位完成。因此,计算机中实际上没有用原码形式存储带符号的整数。但由于其简单与直观,在不涉及数字运算的应用场合还是会用到的。原码的特点反码正数的反码与原码相同。即最高位是符号位,用0表示正,其余位表示该数的值。例如:(+127)10的8位二进制反码:01111111;(+31)10的8位二进制反码:00011111。负数的反码通过将其正数的反码按位取反(包括符号位)得到。例如:(-127)10的8位二进制反码:10

4、000000;(-31)10的8位二进制反码:11100000。显然,在反码表示中,0有两种表示方法,在这里,我们暂且称之为+0和-0:+0的8位二进制反码:00000000;-0的8位二进制反码:11111111。反码的特点(1)0有两种表示方法;(2)n位二进制反码所能表示数的范围是-2n-1-1~+2n-1-1。如8位二进制反码所能表示数的范围是-127~+127;(3)当反码的符号位是0(即正数)时,后面的位数为数值部分;当符号位为1(即负数时),将后面的位数按位取反后才得到其数值。由于反码中0有两种表示,会引

5、起很大的混乱,另外,进行加减法也不方便。所以计算机中没有使用反码存储带符号的整数。反码的意义在于它是下面要介绍的补码的基础。另外,它的某些特性使其可用于诸如错位检测和纠错的数据通信应用程序中。补码带符号数的n位二进制补码按如下的步骤得到:(1)首先将数的绝对值转换为二进制数,不管符号;(2)如果得到的二进制位数不足n位,在高位补0,直到总位数为n;(3)如果符号为正,就不需要作变动。如果符号为负,则从最低位开始到首次出现的1为止,将所有的0和首次出现的1保持不变,其余位取反。例题例1:求(+31)10和(-31)10的

6、8位二进制补码。解:31所对应的二进制数为11111。(+31)10的8位二进制补码只需在高位补3个0,即00011111。而(-31)10的补码需要保持00011111最低位的1不变,其他位取反。即11100001。例2:求(+126)10和(-126)10的8位二进制补码。解:(126)10所对应的二进制数为1111110。(+126)10的8位二进制补码只需在高位补1个0,即01111110。而(-126)10的补码需要保持01111110最低位的0和第一个1不变,其他位取反。即10000010。0的补码特别的有

7、:+0的补码:00000000;-0的补码:00000000。这样,在补码表示中,0只有一种表示法,克服了在反码中0有两种表示的缺点。求补码的十进制真值求一个补码的十进制真值的方法是:(1)如果最高位是0,则直接将此二进制数转换为十进制数,并在前面加上正号;(2)如果最高位是1,则将最低位连续的0和第一个出现的1保持不变,将其余位(包括符号位)按位取反,然后将得到的二进制数转换为十进制数,并在前面加负号。例题例:计算8位二进制补码10000000的真值。解:由于最高位为1,所以该数是负数。将该二进制数最低位连续的0和第

8、一个出现的1保持不变。这样得到的二进制数还是10000000。将此数转换成十进制数为128,然后在前面加负号,得到(-128)10。所以,8位二进制补码10000000的真值是-128。从该例子看出,8位二进制补码所表示的数的范围是-128~+127。一般地,我们可以给出,一个n位二进制补码所能表示的数的范围是-2n-1~+(2n

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

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

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