2025-11-20 06:48:03
SQLite里存数字有个最大值限制,整数类型分两种 biggest integer是54775807,小整数是。浮点数最大能存到1.23157e+308,负数最小是-54775808。
为啥是这个数呢?得从二进制说起啊,SQLite用补码存整数。比如小整数占4个字节,也就是32位,最左边一位是符号位。31位数值位最大就是2的三十次方减一,也就是。那大整数用8个字节64位,数值位31位就是2的63次方减一,等于54775807。浮点数用双精度16字节,规格化数最大是1.0乘以2的三一百七十八次方,所以得到1.23157e+308这个数。负数最小就是符号位1,后面全0,比如-这样的数。这些数都是数据库设计时根据硬件限制定出来的,对吧?比如手机内存小,存不了更大的数,数据库就得限制这个范围。
本题链接: