1位 = 1比特,即一位二進制數,能夠表示爲0或1。spa
1字節( byte,簡寫B ) = 8位( bit )code
\(1KB = 2^{10}B\)內存
\(1MB = 2^{10}KB = 2^{20}B\)it
\(1GB = 2^{10}MB = 2^{20}KB = 2^{30}B\)table
對於字長爲8位的計算機,1字 = 1字節。對於字長爲16位的計算機,1字 = 2字節。32位和64位同理,再也不贅述。class
1字節有8位二進制數,範圍是 0000 0000
到 1111 1111
,換算爲16進制則是 0x00
到 0xFF
,也就是說,兩位16進制數便是1個字節。二進制
假設有一個4字節數據爲0x12 34 56 78
,其中0x12
是高字節,0x78
是低字節(這裏不理解能夠想一想十進制,對於一個十進制數(如21),十位是高字節,個位是低字節),將其存放於地址0x4000 8000
中,則:數據
內存地址 | 0x4000 8000(低地址) | 0x4000 8001 | 0x4000 8002 | 0x4000 8003(高地址) |
---|---|---|---|---|
大端(大尾) | 0x12(高字節) | 0x34 | 0x56 | 0x78(低字節) |
小端(小尾) | 0x78(低字節) | 0x56 | 0x34 | 0x12(高字節) |
大小端還有另外一種說法是大小尾,也就是尾部的大小,這樣說更加容易讓人理解。計算機
計算機中傳輸地址信息是用地址線傳輸的,有n根地址線,則能夠傳輸 \(2^n\) 字節地址。tab
設有一個1MB
容量的存儲器,字長爲32位
,問:
按字節編址須要多少條地址線?尋址範圍是多少?尋址範圍大小是多少?
\(1MB\) = \(2^{20}B\)
1B
即爲1字節
,所以須要 20 根地址線。尋址範圍是 \(0\) 到\(2^{20}-1\)。尋址範圍大小是\(2^{20} = 1M\)。
按字編制須要多少條地址線?尋址範圍是多少?尋址範圍大小是多少?
\(1MB\) = \(2^{20}B\)
1字 = 32位 = 4字節 = 4B
\(\frac{2^{20}}{2^2} = 2^{18}\)
所以須要18根地址線。尋址範圍是 \(0\) 到\(2^{18}-1\)。尋址範圍大小是\(2^{18} = 1M\)。