匿名使用者
匿名使用者 發問時間: 電腦與網際網路程式設計 · 2 0 年前

請問十進位數567所對應的二進位數、八進位數、十六進位數?

請問十進位數567所對應的二進位數、八進位數、十六進位數該如何換算呢?

請大大教教我吧

2 個解答

評分
  • 2 0 年前
    最佳解答

    十六進位算法

    567除以16=35....餘7===>(7)

    35/16=2....3=========>(237) //2無法在除

    (237)-->十六進位

    567/8=70....7==>(7)

    70/8=8....6===>(67)

    8/8=1...0===>(1067)

    (1067) -- >八進位

    同理

    567/2.....

    (10 0011 0111)-->二進位

    參考資料: Myhead
  • Mark
    Lv 5
    2 0 年前

    其實不管是要換算幾進位數

    如果你把它用10進位的算法去推論, 很容易就可以知道答案

    比如說, 10進位的567 = 5*(10^2) + 6 *(10^1) + 7

    如果你要取得每一位數的值, 你自己先想想你會怎麼算呢

    個位數 = 567 % 10 = 7

    十位數 = (567 / (10^1)) % 10 = 56 % 10 = 6

    百位數 = (567 / (10^2)) % 10 = 5 % 10 = 5

    %是除完後取餘數的運算, 567%10就是567除以10後取餘數

    同樣的算法, 套用在別的進位, 只要把算式裏面的10改成其它數字就好

    假設最低位數是第0位數, 依次會第1, 第2位數

    則八進位要怎麼算呢

    第0位數 = 567 % 8 = 7

    第1位數 = (567 / (8^1)) % 8 = 70 % 8 = 6

    第2位數 = (567 / (8^2)) % 8 = 8 % 8 = 0

    第3位數 = (567 / (8^3)) % 8 = 1 % 8 = 1

    再下去就變成 (567 / (8^4)) % 8 = (567 / 4096) % 8 = 0 % 8

    567已經比4096小了, 表示已經換算完畢

    所以567的八進位是1067

    我曾經回答過任何兩個進位之間轉換的程式問題

    你可以到以下聯結去看一下編號2的答案

    看得滿意的話, 順便投我一票.... ^_^

    http://tw.knowledge.yahoo.com/question/?qid=140511...

還有問題?馬上發問,尋求解答。