mysql中TINYINT的取值范圍
在MySQL的數(shù)據(jù)類(lèi)型中,Tinyint的取值范圍是:帶符號(hào)的范圍是-128到127。無(wú)符號(hào)的范圍是0到255(見(jiàn)官方《MySQL 5.1參考手冊(cè)》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-types)。
Tinyint占用1字節(jié)的存儲(chǔ)空間,即8位(bit)。那么Tinyint的取值范圍怎么來(lái)的呢?我們先看無(wú)符號(hào)的情況。無(wú)符號(hào)的最小值即全部8位(bit)都為0,換算成十進(jìn)制就是0,所以無(wú)符號(hào)的Tinyint的最小值為0.無(wú)符號(hào)的最大值即全部8bit都為1,11111111,換算成十進(jìn)制就是255.這很好理解。
有符號(hào)的Tinyint的取值范圍是怎么來(lái)的呢?在計(jì)算機(jī)中,用最高位表示符號(hào)。0表示正,1表示負(fù),剩下的表示數(shù)值。那么有符號(hào)的8bit的最小值就是
1 1 1 1 1 1 1 1=-127
表示負(fù)值
最大值:
0 1 1 1 1 1 1 1=+127
表示正值
怎么有符號(hào)的最小值是-127,而不是-128呢?這就是本文要說(shuō)的關(guān)鍵地方了,在計(jì)算機(jī)中,表示負(fù)值是用補(bǔ)碼
為什么有符號(hào)的TINYINT的最小值是-128?雖然“-0”也是“0”,但根據(jù)正、反、補(bǔ)碼體系,“-0”的補(bǔ)碼和“+0”是不同的,這樣就出現(xiàn)兩個(gè)補(bǔ)碼代表一個(gè)數(shù)值的情況。為了將補(bǔ)碼與數(shù)字一一對(duì)應(yīng),所以人為規(guī)定“0”一律用“+0”代表。同時(shí)為了充分利用資源,就將原來(lái)本應(yīng)該表示“-0”的補(bǔ)碼規(guī)定為代表-128。
相關(guān)文章
Mysql常見(jiàn)的慢查詢(xún)優(yōu)化方式總結(jié)
優(yōu)化是一項(xiàng)復(fù)雜的任務(wù),因?yàn)樗罱K需要對(duì)整個(gè)系統(tǒng)的理解,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Mysql常見(jiàn)的慢查詢(xún)優(yōu)化方式,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05監(jiān)聽(tīng)mysql表內(nèi)容變化 mysql開(kāi)啟binlog
這篇文章主要給大家介紹了關(guān)于監(jiān)聽(tīng)mysql表內(nèi)容變化,mysql開(kāi)啟binlog的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08記一次因線上mysql優(yōu)化器誤判引起慢查詢(xún)事件
這篇文章主要介紹了記一次因線上mysql優(yōu)化器誤判引起慢查詢(xún)事件的相關(guān)資料以及最終的解決方案,分享給大家,希望能夠給大家一點(diǎn)啟發(fā)。2017-02-02Mysql分組查詢(xún)每組最新一條數(shù)據(jù)的三種實(shí)現(xiàn)方法
我們?cè)陂_(kāi)發(fā)中經(jīng)常會(huì)遇到分組查詢(xún)最新數(shù)據(jù)的問(wèn)題,下面這篇文章主要給大家介紹了關(guān)于Mysql分組查詢(xún)每組最新一條數(shù)據(jù)的三種實(shí)現(xiàn)方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01Ubuntu Server 16.04下mysql8.0安裝配置圖文教程
這篇文章主要為大家詳細(xì)介紹了Ubuntu Server 16.04下mysql8.0安裝配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05深入分析MySQL數(shù)據(jù)類(lèi)型 DECIMAL
這篇文章主要介紹了MySQL數(shù)據(jù)類(lèi)型 DECIMAL的相關(guān)資料,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2020-09-09