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)