_(´□`」 ∠)_询问一个c primer plus书上的问
c语言吧
全部回复
仅看楼主
level 8
珂珂丶😈
楼主
书上说16位机int的最小取值范围是[-32767,32767]。为什么不是[-32768,32767],不应该包含2^16=65536个数字吗,书上的范围只有65535个数字啊!
2018年10月28日 02点10分
1
level 8
珂珂丶😈
楼主
dd
2018年10月28日 02点10分
2
level 8
珂珂丶😈
楼主
nnn
2018年10月28日 02点10分
3
level 8
珂珂丶😈
楼主
bbbb
2018年10月28日 02点10分
4
level 8
珂珂丶😈
楼主
kkk
2018年10月28日 02点10分
5
level 8
珂珂丶😈
楼主
gbvv
2018年10月28日 02点10分
6
level 8
珂珂丶😈
楼主
ssdd
2018年10月28日 02点10分
7
吧务
level 14
GTA小鸡
书上没错,C标准规定的short/int最小范围的确是-32767~32767,注意是最小范围,也就是必须保证能存储和表示这个范围里的数
为什么只有65535个数是因为其中存在正负0的问题,也就是00000000 00000000和10000000 00000000这两个数,前者表示0毫无疑问,而后者可以表示-0,此时范围就是-32767~32767;也可以表示-32768,此时范围就是-32768~32767。
2018年10月28日 02点10分
8
珂珂丶😈
哦!谢谢大佬,爱你
2018年10月28日 02点10分
1