bit,bytes
1 byte = 8 bit
1 KB = 1024 bytes =2^10 bytes
1 MB = 1024 KB = 2^20 bytes
1 GB = 1024 MB = 2^30 bytes
bit只有0和1兩個狀態。一bit就是一個二進位制位,兩bit就是兩個二進位制位……道理同十進位制一樣,有個位有十位、百位、千位等等。但二進位制逢2就進1,等於十進位制每位最大是9,一旦到10就要進位。bit就是一樣東西,最大是1,2就要進位,所以十進位制的“2”就是二進位制的“10”,“5”就是“101”。二進位制的“個位”是2的0次方2^0,“十位”是2的1次方2^1,“百位”是2的2次方2^2……等於十進位制“百位”是10^3。
1byte=8bit就是說一個位元組有八個二進位制位,就是2的8次方,應該表示為2^8。所以1位元組能夠表示2^8=-256種狀態。電腦把256種狀態表示不同的字母符號(其實字母和常用符號只用前128種),所以每個字母都由一個數值代表,記錄一堆字母的資料,就需要一堆位元組了。
同理,我們漢字儲存,一般的GB2312或者GBK編碼方式,用兩個位元組表示一個漢字,就是16bit種狀態(實際不足2^16)。現在非英文字元都流行unicode編碼,用3或4個位元組,變化更大,例如CJK編碼可表示7萬多漢字。
“2^10 bytes”,2的10次方就等於1024。
1byte=8bit就是說一個位元組有八個二進位制位,就是2的8次方,應該表示為2^8。所以1位元組能夠表示2^8=-256種狀態。電腦把256種狀態表示不同的字母符號(其實字母和常用符號只用前128種),所以每個字母都由一個數值代表,記錄一堆字母的資料,就需要一堆位元組了。
同理,我們漢字儲存,一般的GB2312或者GBK編碼方式,用兩個位元組表示一個漢字,就是16bit種狀態(實際不足2^16)。現在非英文字元都流行unicode編碼,用3或4個位元組,變化更大,例如CJK編碼可表示7萬多漢字。
“2^10 bytes”,2的10次方就等於1024。
而bit不止是記憶體的單位,基本是現代計算機所有關於容量的單位。例如硬碟、光碟,都基於2進位制。甚至顯示的顏色數目,例如某些彩屏手機(例如iphone)說是16M色真彩,就是16777216種狀態,2的24次方。一個位元組8bit,8個二進位制,需要表示24bit狀態,就需要3個位元組存放。這也是我們以前顯示卡視訊記憶體拮据時,計算不同顏色解析度需要多大視訊記憶體的方法。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14184018/viewspace-692940/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Windows中的程式的Working Set,Private Bytes和Virtual BytesWindows
- golang的bytes.bufferGolang
- Oracle 32bit 升級到64bitOracle
- 32bit和64bit的問題
- BYTES_PER_ELEMENT屬性
- LeetCode之1 bit and 2 bit Characters(Kotlin)LeetCodeKotlin
- Changing between 32-bit and 64-bit Word Sizes
- 生成隨機字串應該用random_bytes還是openssl_random_pseudo_bytes隨機字串random
- 5-bit LFSR
- TypeError: can‘t concat str to bytesError
- 查詢DBA_SEGMENTS,bytes=0
- 檢查AIX系統是否支援64bit,以及32bit與64bit的轉換AI
- 對於hp32bit位和64bit的區別
- Changing between 32-bit and 64-bit Word Sizes [ID 62290.1]
- 64bit client 與 32bit plsqldev是不相容的clientSQLdev
- Python 3的bytes/str之別Python
- Zblog unserialize(): Error at offset 2 of 686 bytesError
- 7.32 BIT_AND_AGG
- Update Bit與 Is_Updated
- Changing between 32-bit and 64-bit Word Sizes (Doc ID 62290.1)
- LINUX5.4 64bit安裝ORACLE10g64bitLinuxOracle
- C# bytes[]和sting互相轉換C#
- python3 將bytes轉為字串Python字串
- linux 上32bit的 database向 64bit的database遷移LinuxDatabase
- 如何知道可執行檔案是32-bit還是64-bit
- 7.39 BIT_XOR_AGG
- 7.33 BITMAP_BIT_POSITION
- 關於Byte和bit
- (轉)Windows 64-bit ItaniumWindows
- nmon for redhat 4.7(64bit)Redhat
- Four-bit binary counter
- B-A Bit More Common
- How to install 64-bit Google Chrome 28+ on 64-bit RHEL/CentOS 6 or 7GoChromeCentOS
- OS Package Prerequisites for 10.2.0.5.0 GC on Linux for 32bit and 64bit_815157.1PackageUIGCLinux
- AIX 系統軟體 32bit與64bit轉換詳解(轉)AI
- 2024牛客多校第一場A Bit Common & A Bit More Common
- Lombok讓Java再次變得酷酷的 - Grubhub BytesLombokJava
- Strings、bytes and runes -- 就要學習 Go 語言Go