※ 引述《loomi (我是簽名檔女王 )》之銘言:
: 尚真大叔!
啊... 我是大叔? @_@
: 可不可以解釋一下
: 八進位 和 十六進位
八進位跟十六進位, 嗯嗯... 高中數學沒教?
okok... 這個是屬於數論的部份.
符號: a^b = a 的 b 次方, ex: 3^2 = 9.
我們平常在用的數字是十進位.
好比這個
1345 = 1000 + 300 + 40 + 5
= 1 * 10^3 + 3 * 10^2 + 4 * 10^1 + 5 * 10^0
這個是以十為基底的表示法...
數字部份由 0 ~ 9 組成, 逢十進位...
也就是所謂的十進位.
八進位就像是這樣...
1345 = 1 * 8^3 + 3 * 8^2 + 4 * 8^1 + 5 * 8^0
= 1 * 512 + 3 * 64 + 4 * 8 + 5 * 1
= 741
但是八進位的數字部份, 只有 0 ~ 7, 逢八進位...
ex: 10(8), 7777(4095), 2031(1049), 5663(2995), 1234(668)
括號裡頭是十進位的值...
十六進位也就是...
1345 = 1 * 16^3 + 3 * 16^2 + 4 * 16^1 + 5 * 16^0
= 1 * 4096 + 3 * 256 + 4 * 16 + 5 * 1
= 4933
而十六進位的數字部份, 則是 0 ~ 9 加上 a b c d e f, 共十六個.
ex: 10(16), ffff(65535), 5b23(23331), 3a9f(15007), 4c0d(19469).
不同的基底之間進行互換, 就是運用除法原理.
下面這個例子, 就是算 2526 是怎麼由八組成的...
2526(十進位)
= 6 + 315 * 8 = 6 * 8^0 + 315 * 8
= 6 + (3 + 39 * 8) * 8 = 6 * 8^0 + 3 * 8^1 + 39 * 8^2
= 6 + (3 + (7 + 4 * 8)) * 8 = 6 * 8^0 + 3 * 8^1 + 7 * 8^2 + 4 * 8^3
^ ^ ^ ^ ^ ^ ^ ^
= 4736(八進位)
十六進位也是同樣的換算法...
算久了, 每個人都有不同的方法求解...
比方二進位, 八進位, 跟十六進位之間的轉換是可以『用看的』.
因為都是二的冪次.
這是整數部份...
如果消化得過去, 等一下還有小數部份.
--
新詩練習:新鮮。踩破初春裡的狗大便;不經意的滄桑,滿溢著嫩黃的喜悅。
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 61.224.161.213