通信人家园
标题:
[求助]问个字节数值问题
[查看完整版帖子]
[打印本页]
时间:
2006-5-24 09:48
作者:
逸风悠云
标题:
[求助]问个字节数值问题
书上说“在计算机中,若某一数据占用一个字节。其中第七位(最左边那位)是符号位,表示数值正负,余下七位表示数值。因此其表现的数值范围为
(-2*2*2*2*2*2*2)~(2*2*2*2*2*2*2-1)(-128~127)”(word公式粘贴不了)。
我不明白的是:负数低限,为什么不是-(2*2*2*2*2*2*2-1)(-127),
而是(-2*2*2*2*2*2*2)(-128)呢?
(即我认为数值上,负数范围等于正数范围前加个负号)
思考多遍,不明其中原因,还望明人指点。谢谢!!!
时间:
2006-5-24 09:54
作者:
01070801
正0和负0的问题。
时间:
2006-5-24 09:56
作者:
01070801
从-128到127共256个,正好是2的8次方,没浪费。
但会发现-0和+0都是0,于是就有了-128
时间:
2006-5-24 12:37
作者:
逸风悠云
以下是引用
01070801在2006-5-24 9:56:00
的发言:
从-128到127共256个,正好是2的8次方,没浪费。
但会发现-0和+0都是0,于是就有了-128
不明白,可以具体的说说吗?谢谢!
时间:
2006-5-24 13:16
作者:
01070801
数值在计算机中的表示--原码、补码和反码表示
1、原码
位:用0表示正数,用1表示负数。
数值部分:用二进制的绝对值表示。
[+105]原=01101001 [-105]原=11101001 [+0]原=00000000 [-0]原=10000000符号用8位(一个字节)二进制数表示的范围:-127~+127。
2、反码
正数的反码与其原码相同。
而负数的反码等于其绝对值各位求反。
[+105]反=01101001 [-105]反=10010110 [+0]反=00000000 [-0]反=11111111
用8位(一个字节)二进制数表示的范围:-127~+127。
3、补码
正数的补码与其原码相同。
负数的补码是把其原码除符号位外的各位先求其反码,然后在最低位加1。
X-Y=X+(Y的补码)=X+(Y的反码+1)
用8位(一个字节)二进制数表示的范围:-128~+127。
[+105]补=01101001 [-105]补=10010111 [0]补=00000000 [-1]补=11111111
时间:
2006-5-25 09:46
作者:
逸风悠云
忘记反码、补码这些了,谢了。
时间:
2006-5-28 00:09
作者:
lucas_123
路过
通信人家园 (https://test.txrjy.com/)
Powered by C114