mysql中TINYINT的取值范围_Mysql

在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html)。

Tinyint占用1字节的存储空间,即8位(bit)。那么Tinyint的取值范围怎么来的呢?我们先看无符号的情况。无符号的最小值即全部8位(bit)都为0,换算成十进制就是0,所以无符号的Tinyint的最小值为0.无符号的最大值即全部8bit都为1,11111111,换算成十进制就是255.这很好理解。

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

  1  1  1  1  1  1  1  1=-127

表示负值

最大值:

  0  1  1  1  1  1  1  1=+127

表示正值

怎么有符号的最小值是-127,而不是-128呢?这就是本文要说的关键地方了,在计算机中,表示负值是用补码

为什么有符号的TINYINT的最小值是-128?虽然“-0”也是“0”,但根据正、反、补码体系,“-0”的补码和“+0”是不同的,这样就出现两个补码代表一个数值的情况。为了将补码与数字一一对应,所以人为规定“0”一律用“+0”代表。同时为了充分利用资源,就将原来本应该表示“-0”的补码规定为代表-128。

时间: 2024-11-03 00:57:35

mysql中TINYINT的取值范围_Mysql的相关文章

mysql中随机查询取值效率优化

mysql使用rand()进行随机查询  代码如下 复制代码 1 order by rand() limit x 随机mysql查询效率极其低下,今晚本人就遇到几个wordpress插件的作者,随机取值,竟然都是直接    代码如下 复制代码 1 order by rand() 这也太坑爹了,数据一多,譬如你有个5万~10万,加上每天几千IP,那效率就跟蜗牛似的.不信你试试.这是严重不 负责任的随机查询. 后来百度找了一个方法  代码如下 复制代码 SELECT * FROM table WHE

Mysql中 unique列插入重复值该怎么解决呢_Mysql

当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操作或者更新旧记录为新值. mysql> create table menus(id tinyint(4) not null auto_increment, -> label varchar(10) null,url varchar(20) null,unique key(id)); Query

jsp中el Map取值问题标题标题标题

问题描述 jsp中el Map取值问题标题标题标题 现在要做个树状菜单来展现单位与个人账号,1对多,现在我的做法是将单位账号展现后, 里面 根据单位账号的ID取后台map,即个人账号为${map['id']},请问如何将这里面的id 改成动态的 即${map['单位账号.id']}呢?或者大仙们告诉一个别人方法 ! 解决方案 就是MAP的应用问题了,你想做点开一个单位名称,就显示该单位所有人的账号对吧?首先要初始化好MAP,把每个单位的个人账号分别放在数组中,比如a[0]=;a[1]=;然后把单

预测-kNN分类算法中k的取值如何确定?

问题描述 kNN分类算法中k的取值如何确定? kNN分类算法中k的取值如何确定,是一个一个试,直到试出预测准确率最高的么? 解决方案 第九章 KNN(K最近邻分类算法)

评价函数-函数图像中,正负无穷的取值判断

问题描述 函数图像中,正负无穷的取值判断 用函数求得了对于投资资金的动向判断值fx 以盈亏平衡,f (x)=0为中心,当-∞转向+∞,x 等于负数时,是看上限还是下限?等于正数时:又是何解? 相反的,当+∞转向-∞.等于正负值是,分别做何解? 比如下图得出的结果

c#中的maskedtextbox取值问题

问题描述 c#中的maskedtextbox取值问题比如我设定了一个格式,__:__,举个例子,23:45,想转换成两个整型x=23和y=45,有什么好的方法吗? 解决方案 解决方案二:split(':')分解成数组,再循环转换int解决方案三:正则....解决方案四:string[]str="23:45".Split(':');MessageBox.Show(str[0].ToString());MessageBox.Show(str[1].ToString()); 解决方案五:同意

C#中float的取值范围和精度

原文:C#中float的取值范围和精度 float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: float x = 3.5F; 如果在以上声明中不使用后缀,则会因为您尝试将一个 double值存储到 float 变量中而发生编译错误. float的取值范围  float占用4个字节,和int是一样,也就是32bit. 1bit(符号位) 8bits(指数位) 23bits(尾数位) 存储方式如下图:

MySQL中的联合索引学习教程_Mysql

联合索引又叫复合索引.对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合进行查找,但不支持 b,c进行查找 .当最左侧字段是常量引用时,索引就十分有效. 两个或更多个列上的索引被称作复合索引. 利用索引中的附加列,您可以缩小搜索的范围,但使用一个具有两列的索引 不同于使用两个单独的索引.复合索引的结构与电话簿类似,人名由姓和名构成,电话簿首先按姓氏

MySQL中数据类型相关的优化办法_Mysql

有助于效率的类型选择 1.使你的数据尽可能小 最基本的优化之一是使你的数据(和索引)在磁盘上(并且在内存中)占据的空间尽可能小.这能给出巨大的改进,因为磁盘读入较快并且通常也用较少的主存储器.如果在更小的列上做索引,索引也占据较少的资源. 你能用下面的技术使表的性能更好并且使存储空间最小: ·尽可能地使用最有效(最小)的类型.MySQL有很多节省磁盘空间和内存的专业化类型. ·如果可能使表更小,使用较小的整数类型.例如,MEDIUMINT经常比INT好一些. ·如果可能,声明列为NOT NULL