首页 > 编程知识 正文

mysql数据库字段类型详解,int和tinyint的区别

时间:2023-05-05 20:25:04 阅读:130289 作者:362

Tinyint占用1字节的存储空间,即8位。 那么Tinyint的可取范围是怎么来的呢? 先看看无符号的情况吧。 无符号最小值(即所有8位(bit ) )为0,换算为十进制数为0,因此无符号Tinyint的最小值为0。 无符号最大值(即所有8bit )为1,111111,换算为十进制数为255。 这个我很明白。

有符号的Tinyint的可取范围是怎么来的呢? 在计算机中,符号用最高有效位表示。 0表示正,1表示负,剩下的表示数值。 带符号8bit的最小值为

11111111=-127

显示负值

最大值:

01111111=127

表示正值

怎么有符号的最小值是-127而不是-128呢? 这是本论文的重要之处。 在计算机中,表示负值的是补数(正符号、反符号、补数的概念)

为什么有符号的TINYINT的最小值是-128? “-0”也是“0”,但根据正、反、补数体系的不同,“-0”的补数和“0”不同,两个补数可能表示一个数值。 为了使补数和数字一一对应,决定人为地将“0”一律用“0”表示。 另外,为了最大限度地利用资源,将本来应该表示“-0”的补数规定为代表的-128。

注意: tinyint在缺省情况下是有符号的,因此值的范围为- 128到127

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。