我经常看到short最大值2 16 1 2^{16}-1 2161,int最大值2 32 1 2^{32}-1 2321,但我很少说是怎么取得的。 这里说的最大值是无符号整数,short是2字节
这与二进制十进制问题有关,例如二进制1011进制10进制: 1011=1230222121120=111011=1 times2^ 30 times2^ 21 times
(这是一个从二进制转到十进制的公式,不懂的自驾游百度,这真的很简单)
短二进制文件的最大值为1111111111111111
直接用二进制旋转十进制表达式获取非常麻烦,但是之后可以使用巧妙的方法(二进制加法(11111111111=100000000000000000 )
这样很容易取得。 (0乘以什么都是0。 这没人会抱怨的吧。 ) 100000000000000=12161=2161=65,535 ) 000000000000=1(times2) {16}-1=2^ ) 2
(之所以减去1,是因为前面的方便运算加了1,结果一定会被减去)
看到这里就知道了吧。 还有int和long的最大值原理都是一样的。