jack 發問時間: 電腦與網際網路程式設計 · 1 0 年前

java 數字專2進位位元

我因現在在學JAVA 已學到位元運算子

有一個問題 請問一下大家 有關數字專2進位位元 的問題

例如

21 =>( 10101 )

58 =>(111010 )

請問一下是以何種理論 換算成2進位位元 10101&111010

可否講解仔細一點 因為我不是資訊科

謝謝

2 個解答

評分
  • W.B.G
    Lv 6
    1 0 年前
    最佳解答

    以21來講解

    21/2=10...1

    10/2=5....0

    5/2=2...1

    2/2=1...0

    之後由後面往前=10101

    以58為例

    58/2=29....0

    29/2=14....1

    14/2=7...0

    7/2=3....1

    3/2=1...1

    答案就是111010

    這就是轉二進制的方法,將被除數除2得到的商為下一次除的被除數,一直到被除數為1為止,之後就往最後一位的商開始往上組合餘數

    2008-07-03 15:17:55 補充:

    如果要將二進制轉回來的話就從最低位開始以58的二進制111010為例

    (0*2的0次方)+(1*2的1次方)+(0*2的2次方)+(1*2的3次方)+(1*2的4次方)+(1*2的5次方)+(1*2的6次方)

    =0+2+0+8+16+32

    =58

    2008-07-06 02:25:28 補充:

    如果要轉八進制或十六進制也能用這樣的方法來求得,麻煩一點能用先算出二進制之後從最低位元開始,每三個(八進制)每四個(十六進制)為一組,如果到最後不足三個或四個就在最前面補0

    以58為例

    111010轉為八進制是72(111=7,010=2)

    111010轉為十六進制是3A(1010=A,剩下11所以前面補兩個0=0011=3)

    在十六進制中(1010=A(十進制是10)以此類推

    1011十六進制B,十進制11

    1100十六進制C,十進制12

    1101十六進制D,十進制13

    1110十六進制E,十進制14

    1111十六進制F,十進制15

  • 基本上以wbg大大的回答就是答案了~

    只是我還是建議你去找計算機概論的書 你會比較清楚嘍^^

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