導語
前兩天看到的問題,展開寫一下。
字節
我們都知道計算機是以二進制為基礎。存儲的基本單位是 Bit,也稱為比特、二進制位。1bit 可以表示 0 或者 1 兩個數字,是可能存在的最小的信息量,任何小于1 bit 的內容都算不上信息。
復雜的內容就要用多 bit 來表示。Byte ,也稱為字節,通常用作計量單位。1 byte 等于 8 bit,即 1 byte 可以表示 28 內容。
MySQL 中的字節
先說明一下,在 MySQL 中的整數類型,可以分為 unsigned 和 signed 兩種,即無符號和有符號,具體內容這里不展開。tinyint 的大小就是 1 byte,在 signed 類型能表示的數字以下表為例。(注:表格根據《編碼》修改,僅做舉例說明,不代表 MySQL 實際存儲)
二進制數 |
十進制數 |
10000000 |
-128 |
10000001 |
-127 |
10000010 |
-126 |
10000011 |
-125 |
... |
... |
11111101 |
-3 |
11111110 |
-2 |
11111111 |
-1 |
00000000 |
0 |
00000001 |
1 |
00000010 |
2 |
... |
... |
011111100 |
124 |
011111101 |
125 |
011111110 |
126 |
011111111 |
127 |
int 最大值
在上表中我們看到,首位的 bit 用來表示符號,因此在 sigend 是少一位 bit 來存儲內容。int 是 4 byte,結合上述,可以得出 int 在 signed 最大值為
231−1=2147483647
在 unsigned 中,無需首位 bit 表示符號,因此為
232−1=4294967295
參考資料:二進制、比特、字節、補碼。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- 詳解MySQL數據類型int(M)中M的含義
- Mysql數據庫中把varchar類型轉化為int類型的方法
- mysql修改自增長主鍵int類型為char類型示例
- Mysql中replace與replace into的用法講解
- MySQL添加外鍵時報錯:1215 Cannot add the foreign key constraint的解決方法
- mysql日期date型和int型互換的方法
- MySQL數據庫中把int轉化varchar引發的慢查詢
- MySQL INT類型全解析