数的表⽰⽅法
数在计算机中是以⼆进制形式表⽰的。数分为有符号数和⽆符号数。对于⽆符号数,机器数的所有位表⽰数值。对于有符号数,机器数的最⾼位为符号位,其余位表⽰数值。
如果约定⼩数点的位置在机器数的最低数值位之后,则是纯整数;如果约定⼩数点的位置在机器数的最⾼数值位之前,则是纯⼩数。
如果⼩数点的位置不变,叫做定点数;⼩数点的位置不固定,叫做浮点数。
原码、反码、补码都是有符号定点数的表⽰⽅法。
⼀个有符号定点数的最⾼位为符号位,0是正,1是负。
以下都以机器字长为8举例。
原码表⽰法:
原码就是这个数本⾝的⼆进制形式。 例如:
[+1]原=00000001;[-1]原=10000001
0的原码表⽰⽅法不唯⼀:[+0]原=00000000,[-0]原=10000000
机器字长为n的原码表⽰法能表⽰的数的个数为:2n-1(0的表⽰占⽤了2个编码)
反码表⽰法:
小数的原码正数的反码和原码相同;负数的反码则是其原码除符号位外按位取反。例如:
[+1]反=00000001;[-1]反=11111110
0的反码表⽰⽅法不唯⼀:[+0]反=00000000,[-0]反=11111111
机器字长为n的反码表⽰法能表⽰的数的个数为:2n-1(0的表⽰占⽤了2个编码)
补码表⽰法:
正数的补码和原码相同;负数的补码则是其反码末位加1。例如:
[+1]补=00000001;[-1]补=11111111
0的补码表⽰唯⼀:[+0]补=00000000=[-0]补
机器字长为n的补码表⽰法能表⽰的数的个数为:2n
⼀个数和它的补码是可逆的。
为什么要设⽴补码呢?
第⼀是为了能让计算机执⾏减法:
[a-b]补=[a]补+[-b]补
第⼆是让0的表⽰唯⼀
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论