這個其實有包含在計算機概論的課程裡面,
因為最近學程式語言發現這些進位系統時常出現在教學書中,
一般人一定也對這個霧傻傻,所以為了加深自己的印象我決定自己寫一遍,
有錯請包涵好嗎?
2進位的系統是以2為基底,也就是〈逢二進位〉
二進位數要表達成十進位數,其實方式和十進位相似,
設2進位數為111,那麼要如何表達成十進位數呢?
在這裡先提起十進位的運算方式
設10進位數為111,那麼請問個別的數字要如何表達?
我們可以表達為100+10+1
那麼這之中又有何關聯?
在這之中會發現到,
個位數字為10的0次方*1、十位數字為10的1次方*1、百位數字為10的2次方*1
再將得到的答案個別加起來就是我們所熟悉的十進位法。
這個理論和2進位的表達方式相同,
當二進位數為111,
那就代表著最右方的數字為2的0次方*1、次右方數字為2的1次方*1、而最左方數字為2的2次方*1,
二進位數111就可以表達為十進位數
1*2^2+ 1*2^1+1*2^0=4+2+1=7
*代表乘號 ^代表次方
竟然已經寫完2進位轉為10進位的方法了,
那麼接下來就要寫到如何將10進位轉為2進位了,
一般的方法是用十進位數不斷除以2即可得到答案,
用理論的方式來講不如直接舉個數字做看看,
設十進位數43,要如何轉換為二進位數?
43÷2=21......1 ●
21÷2=10......1 ↑
10÷2=5......0 ↑
5÷2=2......1 ↑
2÷2=1.....0 ↑
└───────────┘
十進位數43就可表達為二進位數 101011。
方法即是將一個數除以2,除到無法再除為止後將最後一個商數首先寫上,之後再由下往上寫上餘數就可以轉換為二進位數。
而有些數除到最後會變成0餘1,這種情形會出現在1%2,
%在算術運算子(Arithmetic Operator)中代表"取餘數"的意思
ex:
25/7=3......4
25%7=4
發生這種情況通常我會省略掉開頭的0就是了,
不過我認為可以參照個人需求來決定要加上或省略
二進位到這邊就告一段落了吧!基礎的東西應該都有在上面了,
標題雖然打上四種進位的系統,不過我打算這次只講一種,
打這篇文花了我一個多小時左右去蒐集資料跟修正,
有錯誤的地方幫忙指出來好嗎?