unsigned无符号类型到底是什么?

2024-12-23 01:35:07
推荐回答(3个)
回答1:

int类型变量可以取负值(即有符号位)
而unsigned int类型无符号位,所以可以表示的值是int类型的正最大值的两倍,

即在32位平台上:
int的取值范围:
-2147483648(-2的31次方)~2147483647(2^31-1)

unsigned int的取值范围是
0~4294967295(2^32-1)

回答2:

回答3:

//unsigned修饰符,可以修饰int,char等型变量。指无符号。
//如果只有一个,那么它指的是unsigned int。32位机下,它的取值范围是0~4294967295(2的32次方-1)。
//例如:

unsigned int a;
a=1;//实际上,a=1;
a=-1;//实际上,a=-1的补码=2的32次方-1=4294967295。

//char型也一样。

unsigned char a;
a=97;//实际上,a=97;
a=-97;//实际上,a=-97的补码=2的8次方-97。