unsignedint取值范围c语言

如题所述

关于unsigned int取值范围c语言这个很多人还不知道,今天来为大家解答以上的问题,现在让我们一起来看看吧!
1、0到65535。
2、举例:unsigned a;a=5;或:unsigned int a;a=5;16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned int能存储的数据范围则是0~65535,在计算机中,整数是以补码形式存放的。
3、系统使用无符号数只表示大小,有符号数最高位(二进制情况下最高位表示符号位),在同一操作系统下,有符号数和无符号数的最大数值在大小上的关系是2*x+1。
4、二者表示的数据范围大小是相同的,但是范围不同。
5、C支持所有整形数据类型的有符号数和无符号数运算。
6、尽管C标准并没有指定某种有符号数的表示,但是几乎所有的机器都使用二进制补码。
7、通常,大多数数字默认都是有符号的,C也允许无符号数和有符号数之间的转换,转换原则是基本的位表示保持不变。
8、因此在一台二进制补码机器上,当从无符号数转换为有符号数时,效果就是应用U2Tw,而从有符号转换为无符号数时,就是应用函数T2Uw,其中w表示数据类型的位数。
本文到此分享完毕,希望对大家有所帮助。
温馨提示:答案为网友推荐,仅供参考