C中无符号和无符号int之间的差异
请您说明一下C中无符号和无符号int之间的差异,c,int,unsigned,C,Int,Unsigned,请您说明一下无符号和无符号整数之间的区别好吗?也许一些示例代码会有所帮助。unsigned表示它是unsigned int。因此它们是等价的。它们完全相同。没有区别unsigned和unsigned int都是同一类型的同义词(无符号版本的int类型)。unsigned是一个修饰符,可以应用于任何整型(char,short,int,long,等等)但就其本身而言,它与unsigned int完全相同unsigned单独表示unsigned int。您也可以使用unsigned char等。如果尝
无符号
和无符号整数
之间的区别好吗?也许一些示例代码会有所帮助。unsigned表示它是unsigned int。因此它们是等价的。它们完全相同。没有区别unsigned
和unsigned int
都是同一类型的同义词(无符号版本的int
类型)。unsigned
是一个修饰符,可以应用于任何整型(char
,short
,int
,long
,等等)但就其本身而言,它与unsigned int
完全相同unsigned
单独表示unsigned int。您也可以使用unsigned char
等。如果尝试unsigned double
或unsigned float
,我不知道会发生什么。有人知道吗?编译器会告诉您这是个错误。double
和float
都是通过IEEE-754文档定义的。@stan这很有意义。我在想象如果double
和float
可以不签名,会发生什么奇怪的行为。它会忽略符号位吗?也许能给有效位加上一点精度什么的?@Daniel:6.2.5 in是一个很好的读物。基本上它说有浮动类型和整数类型;而且无符号
与浮点类型规范的任何部分都不匹配:)@Stan:C允许按照IEEE 754的规定实现浮点
、双精度
、和长双精度
,但它不需要。请尝试以下代码:无符号int a=-1;printf(“见有符号=%d\n见无符号=%u\n”,a,a)代码>