有符号整型变量 取值范围是-32768-32768这什么意思啊 怎么符号位又是0111111111111111 什么意思 详细解释

具体解释下什么是符号位 取值范围跟符号位什么关系

有符号整型变量 int 类型 以前的机器是 2个字节 一个字节 8位 2个 16位。
一位做符号位 来 表示 正负。符号位为0,表示正数,符号位为1表示负数。
也就是15位来表示数字。2的15次方为3278.

取值范围应该是-32768~+32767 。
0111111111111111 表示 第一个0是符号位。 后面的15个1 等于32767。 0111111111111111 表示 有符号整形的 32767。追问

为什么0111111111111111 = 32767 是规定吗

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-18
1、这个int是16位的(位数不同范围也不同,比如32位就是-2^31到2^31-1)
2、第一位为符号位,0表示正,1表示负
3、最小的负数为 1000000000000000>减1后11111111111111111>取反后1000000000000000,表面是-0,由于0用+0表示,实际这个是-32768
4、最大整数,没的说01111111111111111,+32767
第2个回答  2015-08-21
零0000000000000000取反加一后进到第17位。后面为16个0,没有17位就舍去了,结果还是0。很巧妙的。
相似回答