如题所述
mysql的int根据计算机的内部字长和编译器的版本,在内存中可能占2或4个字节。在一般电脑中,int占用32字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1];在微型机中,int占用32字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。
扩展资料:
如果从mysql中获取的数超出了int的范围,将会被解释为float。同样如果执行的SQL运算结果超出了int范围,也会返回float。要明示地将一个值转换为int,需要使用SQL语句convert(int,数值)来强制转换。
如果浮点数超出了整数范围(通常为+/-2.15e+9=2^31),则结果不确定,因为没有足够的精度使浮点数给出一个确切的整数结果。在此情况下没有警告,甚至没有任何通知!
MySQL中中的int主要有如下几种:
1、tinyint 的范围是-128~127;
2、int的范围是-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字),存储大小为4个字节;
3、bigint的范围是 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节;
4、smallint unsigned的范围是 –2^15(2^15表示2的15次幂) 到2^15 – 1,即 –32768 到 32767;
5、smallint 的范围是 0 到 2^16 – 1,即 0 到 65535,存储的字节是2个字节。
扩展资料
int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道,字节(byte)并非是计算机存储的, 还有比字节(byte)更小的单位,也就是位(bit),一个位就代表一个0或1; 8个位组成一个字节;一般字节用大写B来表示byte,位用小写b来表示bit。
的换算:
1B=8b
1KB=1024B
1MB=1024KB
那么根据int类型允许存储的字节数是4个字节,就能换算出int UNSIGNED(无符号)类型的能存储的最小值为0,最大值为4294967295(即4B=32b,最大值即为32个1组成)。
本回答被网友采纳tinyint 的范围是-128~127;
int的范围是-2^31 (-2,147,483,648) 到 2^31 – 1 (2,147,483,647) 的整型数据(所有数字),存储大小为4个字节;
bigint的范围是 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节;
smallint unsigned的范围是 –2^15(2^15表示2的15次幂) 到2^15 – 1,即 –32768 到 32767;
smallint 的范围是 0 到 2^16 – 1,即 0 到 65535,存储的字节是2个字节。本回答被提问者采纳