其实有些较老的编译器把int类型编译时只分配两个字节的。四个字节的int共有32个比特位,从低到高逻辑标位为:d0位到d31位。如果d31位为1则这个int就表示一个负整数,否则它就表示一个2的31次方以内的正整数,因为d31位已经被用于符号位所以只有d0到d30共31个位用于表示数据位。
其实有些较老的编译器把int类型编译时只分配两个字节的。四个字节的int共有32个比特位,从低到高逻辑标位为:d0位到d31位。如果d31位为1则这个int就表示一个负整数,否则它就表示一个2的31次方以内的正整数,因为d31位已经被用于符号位所以只有d0到d30共31个位用于表示数据位。