cr99999.com
生活小知识 一切都给您解释的明明白白
当前位置:首页 >> unsigned int >>

unsigned int

int整型是计算机编程语言中的一种基本数据类型,通常反映了所用机器中整数的最自然长度 。int整型可以划分为带符号的(signed)和无符号的(unsigned)两种,带符号类型可以表示正数、负数或0,无符号类型则仅能表示大于等于0的值。在默认情况下声明的整型变量都是有符号的类型,如果需声明无符号类型的话就需要在类型前加上unsigned关键字。

unsigned int是计算机编程语言中一种表示大于等于0的整数类型。

针对不同的计算机系统,unsigned int类型所占的比特数不同,它所能表示的数据范围也不一样 。具体的取值范围如下:

数据类型

位数

取值范围

unsigned int

16

0 到 65535

32

0 到 4294967295

16位系统中一个int能存储的数据的范围为:-32768~32767,而unsigned int能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。所以如果整数的最高位是1,有符号数的话就是负数;如果是无符号数,则都表示正数。另外,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。

sql语句中,创建一个数据表时:

其中的UNSIGNED表示,数据项server_id的数据范围为0~4294967295。

如果整数太大,超出了整数类型的范围会产生溢出现象。下面分别将有符号整型和无符号整型设置为最大允许值加略大一些的值,观察溢出现象:

由以上结果可知,unsigned int溢出后数值回到“起始点”0,而int溢出后数值回到“起始点”-2147483648。应当注意的是,当变量溢出时,系统并没有给出提示,所以编程时需要程序员自己处理这个问题。

如果表达式里既有带符号类型又有无符号类型,当带符号类型取值为负时会出现异常结果,这是因为带符号数会自动地转换成为无符号数。例如一个形如 a*b 的式子中,如果 a=-1,b=1,而且a,b都是int类型,则表达式的值显然为-1,然而如果a是int,而b是unsigned int,则结果须视在当前机器上int所占位数而定,在32位计算机系统中,结果是4294967295。

中付支付 | 井冈山红色文化培训 | 北京翻译 | 养生网 | 压缩垃圾车 | 笔趣阁 | 免费发布信息 | 网站首页 | 网站地图
All rights reserved Powered by 生活小知识 www.dainaini.com
copyright ©right 2010-2021。
网站名词解释内容来自网络,如有侵犯请联系客服。zhit325@126.com