三十二位二进制数转化为十进制数的方法

二进制转换的问题:
11111111111111111111111111111111三十二个二进制位,转换为十进制为什么是2的32次方减一
老师给我们讲的是,给这个二进制数加一得到100000000000000000000000000000000,这个二进制数表示的是2的32次方,所以上面的二进制数表示的就是2的32次方减一
我的问题是,给二进制数加上一减去一和其对应的十进制数加上一减去一并不是一样的啊,所以这样的得到的结果难道不是错误的吗

二进制加一减一和十进制加一减一是一样的

二进制的1和十进制的1是一样的,因为他们所在的数位是2^0 和 10^0 都是1。

一个32位的二进制,最低位是2^0,最高位是2^31。所以32个1表示的是2^0+2^1+2^2+...+2^31 = 1^32 - 1