C语言中的unsigned int是什么

无符号的整数指的是什么?与int有什么区别?

unsigned integer意思是“无符整型”,表示从0开始到2^32-1的所有整数。unsigned 后的int可以省略的。

具体用法如下:

unsigned a;

a=5;

或:unsigned int a;

a=5;

16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned int能存储的数据范围则是0~65535,在计算机中,整数是以补码形式存放的。

根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。同时在相同位数的情况下,所能表达的整数范围变大 。

扩展资料

1、int 是整数类型,用于定义变量的类型,有符号unsigned int 是无符号的整数类型,直白点说有符号无符号整型就是能不能存放负数。

2、根据程序编译器的不同,整形定义的字节数不同。注意一下取值范围。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-05
最大区别 就是在于那个 符合位

int是 两字节 16位 但是有效位为15 第1位为符合位
unsigned int 的有效位为16 但是不能表示负数的
例如:int 1111 1111 1111 1111和unsigned int1111 1111 1111 111是不一样的
前者是 -1后者是65535本回答被提问者采纳
第2个回答  2008-12-04
如果是整数的话,则其对应的最高位解释为整数的正负符号。如果是无符号整数的话,则最高位仍然解释为数据位,因此,无符号整数均大于或等于0
第3个回答  2008-12-04
无符号整形只有0和正数,没有负数,正数的上限扩大一倍(占用了负数的空间)

比如 char 的范围是 -128 - 127
那么 unsigned char的范围就是 0-256
第4个回答  2008-12-06
无符号的整数指非负数,一般16位 范围0-2^17-1
int是有符号的,一般16位 范围-32768--32767