先看了https://blog.csdn.net/weixin_36564655/article/details/79612689
这篇文章,负数的临界点写的很清楚了。
看完之后还不清楚正数最大值怎么来的…是我傻
写这篇提醒一下自己。
int类型是4个字节,32位,最大值用二进制表示就是, 0111…(总共31个1)。
正数就是
0111…(总共31个1) = 120+1*21+…+1230+0*231=1+21+22+…+2^30 =2^31-1(等比数列求和公式计算)
先看了https://blog.csdn.net/weixin_36564655/article/details/79612689
这篇文章,负数的临界点写的很清楚了。
看完之后还不清楚正数最大值怎么来的…是我傻
写这篇提醒一下自己。
int类型是4个字节,32位,最大值用二进制表示就是, 0111…(总共31个1)。
正数就是
0111…(总共31个1) = 120+1*21+…+1230+0*231=1+21+22+…+2^30 =2^31-1(等比数列求和公式计算)