內存0.1---內存裏數據的表示形式以及進制轉換
操作系統的位數與內存的關系:
32位操作系統是指系統的尋址空間是2的32次方,即4G,也就是說32位操作系統只支持最大4G的內存,64位操作系統尋址空間理論上為2的64次方,即17179869184G,目前最大支持128G,主流主板最大容量為16G。
內存的概念:
內存存儲的是二進制數,可以將內存抽象為開關。一個開關對應兩應兩種狀態,一種狀態對應1,一種狀態對應0。把八個開關放到一間房子裏面,這間房子就相當於一個字節。房間的門牌號相當於地址。無數個房間堆疊且,形成了摩天大廈,大廈就相當於內存。
10這個十進制數字占用4個房間,有32個開關。
存儲單位的轉換:
8bit=1Byte
1024Byte=1KByte
1024KByte=1MByte
1024MByte=1GByte
1024GByte=1TByte
進制的轉換:
二級制: 1+1=10 (逢二進一)
八進制:1+7=10 (逢八進一) 溝通二進制與16進制
十進制:9+1=10 (逢十進一)
十六進制:F+1=10 (逢16進一) 內存地址用16進制表示
十進制-》二進制 : 倒除法,余數逆序
示例:10(十進制)-》1010(二進制)
2| 10
2 | 5 余數為0
2| 2
2| 1 余數為0
| 0 余數為1
二進制-》十進制
當前的數字乘以2的位數次方,最後相加
例如:1010(二進制)
0*2^0+1*2^1+0*2^2+1*2^3=10(十進制)
八進制-》二進制
【一轉三位】八進制的一位轉換為二進制讀的3位,轉換時用十進制轉換
456(八進制)-》100 101 110 (二進制)
二進制-》八進制
【三位一取】三個二進制數相當於一位八進制,從低位開始取,高位不夠加0
101 110(二進制)-》56(八進制)
十六機制-》二級制
【一轉四位】十六機制的以為相當於二進制的四位,轉換時用十進制轉換
FED->1111 1110 1101(二進制)
二進制-》十六進制:
【四位一取】四位二進制相當於一位十六進制,從低位開始取,高位不足補0
1010 1111 1101(二進制)-》AFD(十六進制)
內存裏數據的表示形式及原因:
計算機存儲數據的流程:先開辟內存空間,再存儲數據。即算機以字節為單位開辟空間。
1010這個數占4個字節,前面填充28個0,內存存放的形式是:0000000000000000000000000001010
存放的最高位表示符號:0表示正數 1表示負數
+1:00000000000000000000000000000001
-1:10000000000000000000000000000001
10000000000000000000000000000010
若-1由 10000000000000000000000000000001表示
那-1+1=-2,明顯不對,因此-1不能由10000000000000000000000000000001表示
引出原碼,反碼,補碼的概念
原碼:規定了字節數,寫明了符號位,得到了數據的原碼
反碼:正數的反碼是其自己,負數的反碼是其原碼的符號位不變,其他位取反
補碼:正數的補碼是其自己,負數的補碼是其反碼加1
計算機中的所有數都是以補碼的形式存儲的
-1的原碼:10000000000000000000000000000001
-1的反碼:1111111111111111111111111111111110
-1的補碼:1111111111111111111111111111111111
+1的原碼=反碼=補碼=00000000000000000000000000000001
因此+1+(-1)就是:
+1:00000000000000000000000000000001
-1:11111111111111111111111111111111111
00000000000000000000000000000000
結果很顯然就是0,因此用補碼的形式表示所有數字是可行的
內存0.1---內存裏數據的表示形式以及進制轉換