將10進位數字轉換為二進位的問題 - 電腦

Table of Contents


因要轉換成程式中要用的編碼

所以要將97這個數字轉換為2進位表示法


以下是我的參考網址:

http://www.math.scu.edu.tw/teacher/Chieping/number-system.html

我造上面所教的方法嘗試

得以下結果

97 = 48 * 2 + 1
48 = 24 * 2 + 0
24 = 12 * 2 + 0
12 = 06 * 2 + 0
06 = 03 * 2 + 0
03 = 01 * 2 + 1

將以上得到的數字,由右至左排列得: 10001


我有問題的地方:

『因此2進位右邊起第四位是 0.
且因為 1 < 2, 2進位右邊起第五位是 1. 再左邊其他位都是 0.』


網頁中例子舉的是21,以二進位表示法得10101

也就是說實際上他是00000000…"1"0101 前面都是零所以省略?

套用上述的例子,我的10001前頭也必須加上00000…"1"

得1100001,但是我想要讓電腦表達『97』這個數字時

必須得用"0"1100001


要多加一個零@@"

想請問問這是為什麼呢?

為什麼21用2進位表示法就是10101

而97就必須多個0,得01100001


附註:

將2進位算回10進位這個驗算方法我會

我只是很納悶為什麼表示97要特別加一個0在開頭




<(ˍ ˍ)> 感謝


--
█ █ █ ◢ ◢█◣
█ █ █◢██◢█◢█ ███ █ █
█ █ █ █ █ █ █ █ █ █ █ ██◤ ◢██
█ █ █ █ █ █ █ █ █ █ █ █ █
◥███◤ █ █ █ █ █ █ █ █ █◤ ◥█◤ ███
無限有三寶:閒閒、沒事、打嘴砲 http://0rz.tw/1f55p

--

All Comments

Tom avatarTom2008-12-06
囧,感覺我在鑽牛角尖,但我很想將這個搞懂
Bennie avatarBennie2008-12-07
要不要補0是使用的程式語言的問題吧
Edwina avatarEdwina2008-12-10
前面不需要特別加0啊~你是用你PO那個網頁算的嗎?