編程中數據是內存中的01

我們在編程過程中,大部分時間是在與CPU和內存打交道,數據是保存在內存中的,CPU會直接讀取內存中的數據進行處理,並將結果保存到內存。如果需要保存到硬盤,纔會將內存中的數據複製到硬盤。


內存條是一個非常精密的部件,包含了上億個電子元器件。這些元器件,有兩種狀態,通電和斷電,通電是高電平,用1來表示,斷電是低電平,用0來表示。


如果我們通過電路來控制這些元器件的通斷電,那麼就可以得到很多0、1狀態的組合。例如,8個元器件有 2^8=256 種不同的組合,16個元器件有 2^16=65536 種不同的狀態。雖然一個元器件只能表示2種狀態,但是多個組合起來就可以表示很多狀態了,所以,我們通常將8個、16個元器件組合起來表示一個字符,8個元器件可以表示256個字符,16個可以表示65536個字符。


我們將1個元器件稱爲1Bit(比特),8個元器件稱爲1Byte(字節),那麼16個元器件就是2Byte,32個就是4Byte,以此類推,8×1024個元器件就是1024Byte,簡寫爲1KB,8×1024×1024個元器件就是1024KB,簡寫爲1MB,8×1024×1024×1024個元器件就是1024MB,簡寫爲1GB。



單位換算:
1Byte = 8 Bit
1KB = 1024Byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB


在內存中是沒有abcdef這樣的字符,只有0和1兩個數字,計算機只認識0和1。所以,計算機使用二進制,而不是我們熟悉的十進制,寫入內存中的數據,都會被轉換成0和1的組合。

二進制只有0和1兩個數字,基數爲2,逢二進一,借一當二。例如:
十進制 4321 = 4×103 + 3×102 + 2×101 + 1×100
二進制 1101 = 1×23 + 1×22 + 0×21 + 1×20 = 8 + 4 + 0 + 1 = 13
二進制 110.11 = 1×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 = 4 + 2 + 0 + 0.5 + 0.25 = 6.75


二進制數據的算術運算的基本規律和十進制數的運算十分相似。最常用的是加法運算和乘法運算。


二進制加法:
0+0=0
0+1=1
1+0=1
1+1=10


二進制乘法:
0×0=0
1×0=0
0×1=0
1×1=1


二進制減法:
0-0=0
1-0=1
1-1=0
10-1=1


二進制除法:
0÷1=0
1÷1=1





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章