整型的每一种都分有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的正整数数据,比如16位系统中一个int能存储的数据的范围为-32768~32767,而unsigned能存储的数据范围则是0~65535。由于在计算机中,整数是以补码形式存放的。根据最高位的不同,如果是1,有符号数的话就是负数;如果是无符号数,则都解释为正数。另外,unsigned若省略后一个关键字,大多数编译器都会认为是unsigned int。
以上是摘自百度百科,简而言之就是由于Int型占4字节,也就是16位,2^16 = 65535,如果有符号位就+ -两边均分,如果没有就全给+。
就这么简单~
mysql 中unsigned
标签:关键字 需要 int htm sig 类型 ref 编译 区别
小编还为您整理了以下内容,可能对您也有帮助:
mysql中 unsigned是什么意思
没有符号,意思是没有负数,正整数
mysql中 unsigned是什么意思
没有符号,意思是没有负数,正整数
mysql建表里PRIMARY, AUTO_INCREMENT,UNSIGNED等等是什么意思?
我举个小例子给你简单解释一下。
例:
CREATE TABLE TABLE_1
(
ID INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
// ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。
NAME VARCHAR(5) NOT NULL
)
AUTO_INCREMENT = 100;(ID列从100开始自增)
PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。
UNSIGNED是无符号的意思,代表该字段没有正负。
AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。(例如在上面的例子中,ID列每增加一条记录,便会从100自增) 。
我想通过上面的例子,你应该可以理解一些了,不明白再问我。谢谢。
数据库里的属性unsigned是什么意思,做什么用的
虽然不清楚你说的是什么数据库,unsigned一般是无符号的意思,比如unsigned int就是无符号整数的意思,一般有符号数的最高位是符号位,表示数据的正负,不表示大小,而无符号数的最高位是表示数据的大小,这样无符号数表示的数据范围要比有符号数大一倍,这样解释能懂吧