關於內存地址與字符轉換,以及內存運行的底層理解不是很透測
問題來源
-
ASCII碼字符總共只有256個字符,ASCII碼的每個字符需要一個字節來表示\(4*2^{8}=2^{10}= 1K\)因此需要1KB的內存
-
16位Unicode字符,創建一個長度為\(2^{16}\)的整形數組需要$ 4 * 2^{16}= 2^{8} * 2^{10}=256K $的內存
-
未解決問題:1500個丑數的數組,這個數組占據6KB的內存空間
1.位
定義:
- 位表示的是二進制的位(bit)。
性質:
表示一個二進制數碼0或1,是計算機存儲處理信息的最基本的單位
只能處理0和1
2.字節
定義:
- 字節(Byte,拜特)是計算機處理數據的基本單位,計算機以字節為單位存儲和解釋信息
性質:
字節是最小的計算單位;字節表示存儲器的容量
1Byte=8bit,一個字節是8個比特、一個字節由8位組成。
對於8位二進制,00000000~11111111。一個字節可以存入一套ASCII碼
ASCII碼字符總共只有256個字符,因此只需要1KB的內存進行存儲
3.字
定義:
- 計算機在進行數據處理,一次存取、加工、傳送的數據長度稱為字(word)。一個字一般由多個(整數倍)字節構成。
性質:
1word=2Byte=16bit
一個字由兩個字節組成,16位組成
通常稱16位是一個字,32位是一個雙字,64位是兩個雙字
計算機的字長決定CPU一次處理實際位數的多少,字長越大,性能越優。
4.字長
定義:
- 計算機的每個字包含的位數稱為字長
性質:
計算的字長是指它一次可處理的二進創數字的數目。計算機處理數據的速率,自然和它一次能加工的位數以及進行運算的快慢有關。
如果一台計算機的字長是另一台計算機的兩倍,即使兩台計算機的速度相同,在相同的時間內,前者能做的工作是后者的兩倍。
大型計算機的字長為32―64位,小型計算機為12―32位,而微型計算機為4一16位。字長是衡量計算機性能的一個重要因素。
5.字節等與K存儲單位計算
-
1b(byte) = 8bit
-
1kb = 1024b(byte)
-
1mb = 1024kb
-
1gb = 1024mb
-
1tb = 1024gb