char、int和long double等类型的大小可能因编译器而异。但是,根据C++11或C11标准,我是否有保证任何有符号和无符号基本整数类型的大小相同?
char、int和long double等类型的大小可能因编译器而异。但是,根据C++11或C11标准,我是否有保证任何有符号和无符号基本整数类型的大小相同?
是的,有一个完整的保证,即signed类型的sizeof等于unsigned类型的sizeof,因为unsigned只占用signed类型的负数空间以增加其范围。
UINT_MAX > INT_MAX
;补码机器可能会使它们相等。 - supercat