爱学习的阿瑶 发表于 2021-11-27 14:00:12

小甲鱼答题纠错

小甲鱼带你学C带你飞的数据类型第六题中,回答写道:而 unsigned int 则是完全用于存放正数,因此 unsigned int 可以表示更大的整数。其实是unsigned int可以多加一个零,因此是不完全用于正数。

jackz007 发表于 2021-11-27 14:10:52

本帖最后由 jackz007 于 2021-11-27 14:13 编辑

      unsigned int 的表达能力和 int 是一样的,只不过 int 分出一半用于表达负数,所以,int 表达的正整数数量是 unsigned int 的一半。int 所能表达的最大正整数是 2147483647,unsigned int 能表达的最大值是 4294967295。
      所以,unsigned int"可以多加一个零"的说法是完全错误的。

jhq999 发表于 2021-12-12 20:42:02

0~2^32-1所以能表达的数量是2^32个(4294967295=0xFFFFFFFF加上0)4294967296个,而最大值是4294967295

顶级太阳 发表于 2022-7-29 09:21:45

unsigned不是多加了一个零,是比int多出了一个二进制位用来参与计算,所以说能够表示的二进制数多出了一倍的范围。

ExiaGN001 发表于 2022-7-30 07:32:04

啊对对对
准确来说是非负数/自然数

ExiaGN001 发表于 2022-7-30 07:32:50

jackz007 发表于 2021-11-27 14:10
unsigned int 的表达能力和 int 是一样的,只不过 int 分出一半用于表达负数,所以,int 表达的正 ...

他的意思是unsigned int的取值范围里有0
页: [1]
查看完整版本: 小甲鱼答题纠错