【摘要】:计算机中的数据简称为机器数,一个完整的机器数应能表示无符号数和带符号数。X=+45=+00101101B[X]原=00101101BX=-45=-00101101B[X]原=10101101B在计算机中,原码表示数简单明了,但是如果两个符号不同的数进行运算时处理起来非常不便,为此还需要引进补码。
计算机中的数据简称为机器数,一个完整的机器数应能表示无符号数和带符号数。对于一个字长为n位的机器数而言,若表示无符号数时,其n位全部用于表示数值。如:
若表示带符号数时,其最高位用于表示数的符号(0表示“正”,1表示“负”,这样的处理称为数字符号的数字化表示),其余的n-1位用于表示数值。如:
无论是无符号数,还是带符号数,都是计算机能够直接处理的两种数据。
计算机中对于符号数有不同的编码方式,通常采用两种编码表示:原码、补码。
1.原码
最高位为符号位(正数用0,负数用1),其它位为数值位,称为符号数的原码表示。
【例1.14】X=+45=+00101101B [X]原=00101101B
X=-45=-00101101B [X]原=10101101B
在计算机中,原码表示数简单明了,但是如果两个符号不同的数进行运算时处理起来非常不便,为此还需要引进补码。
2.补码(www.xing528.com)
正数的补码与原码相同,即符号位用0表示,数值位不变;负数的补码则是在原码的基础上。符号位不变,数值位逐位取反,末位加1。
【例1.15】X=+45=+00101101B [X]补=00101101B
X=-45=-00101101B [X]补=11010011B
3.补码数的表示范围
一个n位二进制补码数的表示范围是:
-2n-1≤N≤2n-1-1
当n=8时数的表示范围是:-128≤N≤+127
当n=16时数的表示范围是:-32768≤N≤+32767
如果两个8位二进制补码数的运算结果超出-128≤N≤+127,或者两个16位二进制补码数的运算结果超出-32768≤N≤+32767,则称运算结果溢出。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。