你这个逻辑就是错误的,我来解释给你听为什么要减1,32位去掉一个符号位最大是31位1,也就是要把这31位1表示为10进制相加.你要知道第一位1的十进制值是1乘以2的0次方.....,以此类推,第31位只是1乘以2的30次方.....,看到没有,我们假设这个相加后的值为A?假如这个31位二进制再加1的话,就是第32位为1,后面31个零.也就是2的31次方,我们假设它为B(第32位的十进制为1乘以2的31次方,不是32次方噢).所以A的值,不就是B减1,也就是2的31次方减1啦。
温馨提示:答案为网友推荐,仅供参考