////前言////
在決定寫與Coding相關的文章後,第一個想到的主題便是"指標~Pointer~"
為了能更清楚的表達威利的理解方式,認為以圖像化最能傳達概念
/////////////
首先,Chapter1都是與指標相關,以威利自己覺得最容易理解的順序一一記錄下來
那麼,就開始第一小節的內容吧~~~
資料儲存,是的,威利認為應該從最根本,資料儲存的方式講起
最可以清楚了解指標的來龍去脈,也方便說明指標的概念與應用等
那麼,在電腦上,最小的儲存單位是什麼呢?
答案是"bit" "位元",它僅能儲存兩種狀態,也就是"0"或是"1"
不可思議吧?不論是電腦還是智慧手機,都是靠這最小的儲存單位在運作著
但在現在的系統中,通常使用的最小單位是"Byte" "位元組"
顧名思義,就是多個bit的集合,而1 Byte = 8 bits
檢視任一個檔案的內容,都可以看到
而這邊有個有趣的題外話,為什麼Windows顯示的1KB並不等於1000Byte呢?
沒錯,為什麼會有這個落差呢?事實上雖然Windows系統的單位是寫著"KB"
但其中的"K"並不是以十進制的"1000"計算,而是以二進制的"Kibi",也就是"2的10次方"="1024"計算的
詳細的定義可以在wiki查詢"二進制乘數詞頭",有更清楚的單位歷史,就不再多說
"1MB"="1024KB"="2的20次方 Byte",以此類推,"1GB"="2的30次方 Byte","1TB"="2的40次方 Byte"
所以十進制與二進制的"1TB"有不小的誤差,"100TB(十進制)"約等於"90.9TiB(二進制)"
這也就是為什麼買了一顆標示著"1TB"的硬碟,Windows系統卻只能抓到"900多GB"的原因
因為兩者用的進制跟本不相同,所以並不是廠商偷吃步喔XD
回到主題,以威利的理解方法,首先把儲存空間想像成一本書
而書中的內容,每頁都有一張表格的存在,而剛剛提到的bit,就是填寫在每一格空格中
這樣這本書就能記錄bit格式的資料了
為了後續說明,這個表格在緃向有8個欄位,並且編號為0~7(在coding中的index,通常都是從0開始)
橫向的數量就沒有限定個數,而為了不混淆兩個方向的編號,橫向就以英文字母表示
一個一個bit獨自看,就只能表達"0"或"1",所以需要將多個bit視為同一個資料再解讀,才能獲得實際所需的資料
但是,應該將多少個bit視為同一筆資料,並且該如何解讀呢?
這些就是下一篇的重點囉~~~
////To be continued////
留言列表