MYSQL中TINYINT的取值範圍

2021-09-12 08:18:38 字數 663 閱讀 5995

在mysql的資料型別中,tinyint的取值範圍是:帶符號的範圍是-128到127。無符號的範圍是0到255(見官方《mysql 5.1參考手冊》

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。

mysql中tinyint相關的知識

tinyint 1 boolean 寫查詢語句的時候要 字段 1 as name 轉一下,出來的就是1,0,取的時候用biginteger獲取 tinyint 4 3位的int mysql中tinyint smallint int和bigint型別的用法區別 tinyint占用1位元組的儲存空間,即...

mysql中TINYINT的取值範圍

在mysql的資料型別中,tinyint的取值範圍是 帶符號的範圍是 128到127。無符號的範圍是0到255 見官方 mysql 5.1參考手冊 tinyint占用1位元組的儲存空間,即8位 bit 那麼tinyint的取值範圍怎麼來的呢?我們先看無符號的情況。無符號的最小值即全部8位 bit 都...

mysql中TINYINT的取值範圍

在mysql的資料型別中,tinyint的取值範圍是 帶符號的範圍是 128到127。無符號的範圍是0到255 見官方 mysql 5.1參考手冊 tinyint占用1位元組的儲存空間,即8位 bit 那麼tinyint的取值範圍怎麼來的呢?我們先看無符號的情況。無符號的最小值即全部8位 bit 都...