C++ unsigned int 和 int有什么区别

rt
2024-11-28 13:30:59
推荐回答(3个)
回答(1):

您好,
unsigned int 和 int 同为整型,unsigned int 为 "无符号整型",你可以理解为 unsigned int =-20和 int=20 输出结果是一样的为 "20”。无符号即理解为该数据类型为正整数,例如:int 型的取值范围为-257-256 (不一定为此数值,依电脑处理位数不同而不同),则unsigned int的取值范围为 0-512。

另外需要注意的是(解释int 的不同取值范围的缘由):
BYTE 是8位,所以可以表示 : 2 的8次方 = 256 个数据。取值范围是:-128 到 127
INT 则不确定了。在 16 位的系统或编译器上,可以表示 2 的 16 次方个数据。取值范围大概是这个数除以 2 ,从负数到正数。在 32 位的系统或编译器上,可以表示 2 的 32 次方个数据。取值范围雷同上述。64位系统上类推。。

回答(2):

int 默认是 signed int 也就是说是有符号整型,最高位是符号位,数据只占31位

unsigned int是无符号整型,最高位也是数据位,数据占满32位

回答(3):

unsigned int 无符号int 0~65535
int 有符号int -32768~32767