今天看书上写N位2进制数可以表示的最大范围是:
0到2的n次方-1这个我看懂了,比如3位111表示的最大值是2的3次方-1就是7
但是带符号的就没弄明白:
书上写的是 -2的n-1次方 到 2n-1次方-1
后面那个正数范围到是对的,
比如4位0111,第一个是符号位,0为正,那么表示的最大值就是7,2的4-1次方 -1
可是负数部分没懂。。
比如4位1111,第一个是符号位,1为负,那么表示的最大值就是-7,而不是2的4-1次方 -8
是不是书上写错了?应该写成-2的 n-1次方 -1???
还是我没理解对?请指点。。
那1000表示多少呢?
有深度,我觉得表示-0,0000表示0,它们的结果都一样???
@hexllo: 那-8用什么表示?
弄懂这个一般情况下没用,起码我写了八年代码,还没在这最后一位上纠结过,略过这个问题吧,要么你坚持你自己的
计算机中的整数是用补码表示的,一般计算机专业的应该学过这个才对。学习下原码、反码、补码相关知识就能理解有符号整数取值范围了。