数值型数据的表示及处理.doc

数值型数据的表示及处理.doc

ID:51065147

大小:57.00 KB

页数:6页

时间:2020-03-09

数值型数据的表示及处理.doc_第1页
数值型数据的表示及处理.doc_第2页
数值型数据的表示及处理.doc_第3页
数值型数据的表示及处理.doc_第4页
数值型数据的表示及处理.doc_第5页
资源描述:

《数值型数据的表示及处理.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、原码、反码、补码数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚.为了能方便的与二进制转换,就使用了十六进制和八进制.下面进入正题.数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为(-127~

2、-0+0~127)共256个.有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下:假设字长为8bits,(1)10-(1)10=(1)10+(-1)10=(00000001)原+(10000001)原=(10000010)原=(-2)显然不正确(十进制的1减1当然为0)。因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应.下面是反码的减法运算:(1)

3、10-(1)10=(1)10+(-1)10=(00000001)反+(11111110)反=(11111111)反=(-0)有问题.(1)10-(2)10=(1)10+(-2)10=(00000001)反+(11111101)反=(11111110)反=(-1)正确。问题出现在(+0)和(-0)上,在人们的计算概念中零是没有正负之分的.(印度人首先将零作为标记并放入运算之中,包含有零号的印度数学和十进制计数对人类文明的贡献极大).于是就引入了补码概念.负数的补码就是对反码加一,而正数不变,正数的原码反码补码是一样的.在补码中用(-128

4、)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个.注意-128没有相对应的原码和反码,(-128)=(10000000)补码的加减运算如下:(1)10-(1)10=(1)10+(-1)10=(00000001)补+(11111111)补=(00000000)补=(0)正确(1)10-(2)10=(1)10+(-2)10=(00000001)补+(11111110)补=(11111111)补=(-1)正确所以补码的设计目的是:⑴使符号位能与有效值部分一起参加运算,从而简化运算规则.⑵使减法运算转换为加法运算,进一

5、步简化计算机中运算器的线路设计。所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、C等其他高级语言中使用的都是原码。数值型数据的表示及处理计算机内部的数值型数据都是采用二进制形式来表示的。人们日常已习惯使用十进制,书写起来很方便,而用二进制书写起来位数长得多,读起来也不一目了然。但用二进制易于用物理器件实现,运算起来规则简单,所以任何数值型数据在计算机内都是用二进制表示的。计算机中的数值型数据分成整数和实数两种,下面分别介绍它们的二进制表示方法。2.1.4.1整数(定点数)表示定点数的含义是约定小数点在某一固定位置上,整数可用

6、定点数表示,约定小数点的位置在数值的最右边。整数分两类:无符号整数和有符号整数。(1)无符号整数无符号整数常用于表示地址等正整数,可以是8位、16位、32位或更多位数。8位的正整数的表示范围是0~255(28一1),16位的正整数的表示范围是0~65535(216一1),32位的正整数的表示范围是0~232一1。(2)有符号整数有符号整数使用一个二进制位作为符号位,一般符号位都放在所有数位的最左面一位(最高位),“0”代表正号“+”(正数),“1”代表负号“一”(负数),其余各位用来表示数值的大小。可以采用不同的方法表示有符号整数,一般

7、有原码、反码和补码。为简化起见,以下假设只用一个字节来表示一个整数。带符号数表示法与运算带符号数的表示主要有真值、原码、反码、补码4种表示形式。(1)真值:是某个带符号数的真实值,通常是用十进制表示,+/–号表示符号。(2)原码:将真值前面的正(负)号用代码0(1)表示且放在数值位前面,并且数值部分用二进制表示。(3)反码:将原码的符号位不变,数值位按位取反。(4)补码:在反码的末位加1。在现代计算机中,算术运算都是以补码为基础,操作数是补码的形式表示,运算结果也是以补码形式表示或存储。①原码表示数值型数据的原码表示是将最高位作符号位,

8、其余各位用数值本身的绝对值(二进制形式)表示。假设用[X]原表示X的原码,则[+1]原=00000001[+127]原=01111111[-1]原=10000001[-127]原=11111111对于0的原

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

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

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