小甲鱼答题纠错
小甲鱼带你学C带你飞的数据类型第六题中,回答写道:而 unsigned int 则是完全用于存放正数,因此 unsigned int 可以表示更大的整数。其实是unsigned int可以多加一个零,因此是不完全用于正数。 本帖最后由 jackz007 于 2021-11-27 14:13 编辑unsigned int 的表达能力和 int 是一样的,只不过 int 分出一半用于表达负数,所以,int 表达的正整数数量是 unsigned int 的一半。int 所能表达的最大正整数是 2147483647,unsigned int 能表达的最大值是 4294967295。
所以,unsigned int"可以多加一个零"的说法是完全错误的。 0~2^32-1所以能表达的数量是2^32个(4294967295=0xFFFFFFFF加上0)4294967296个,而最大值是4294967295 unsigned不是多加了一个零,是比int多出了一个二进制位用来参与计算,所以说能够表示的二进制数多出了一倍的范围。 啊对对对
准确来说是非负数/自然数 jackz007 发表于 2021-11-27 14:10
unsigned int 的表达能力和 int 是一样的,只不过 int 分出一半用于表达负数,所以,int 表达的正 ...
他的意思是unsigned int的取值范围里有0
页:
[1]