映画のエンドロール観る派?観ない派?

(12A)16は8進数だといくつですか??
   ↑
  小さい16

計算式のやり方も教えてくださるとありがたいだす!

A 回答 (3件)

2⁴=16、2³=8


16進1桁の重みは2⁴だとわかるから、
(12A)₁₆= 0001 0010 1010

8進1桁の重みは2³だとわかるから、上を3桁ずつ区切る
0001 0010 1010 ⇒ 100 101 010

区切った3桁単位に8進にする、
100 101 010 ⇒ 452

(12A)₁₆=(452)₈
    • good
    • 0

何進数かを [ ] に書いて表わせば、「n 進数の abcd.ef」(0≦a~f≦n-1) とは



 abcd.ef[n] = a * n^3 + b * n^2 + c * n^1 + d * n^0 + e * n^(-1) + f * n^(-2) [10]

ということです。

ご質問の場合では、泥臭く 16進数→10進数→8進数で変換すれば

 12A[16] = 1 * 16^2 + 2 * 16^1 + A * 16^0 [10]
     = 1 * 256 + 2 * 16 + 10 * 1
     = 256 + 32 + 10
     = 298 [10]

 298[10] = 4 * 8^2 + 5 * 8^1 + 2 * 8^0
      = 452[8]

ということになります。
(具体的には、298 をどんどん 8 で割って、余りを求めて行きます。
 298 ÷ 8 = 37 ・・・ 2
 37 ÷ 8 = 4 ・・・ 5
 4 ÷ 8 = 0 ・・・ 4
これで、下から 452)

ただ、「16進数」と「8進数」の場合には、
 16 = 2^4 = 2 * 2^3 = 2 * 8
の関係があるので、2進数を経由すると簡単に変換できることが分かります。
2進数の「abcdefgh」(0≦a~h≦1)は

 abcdefgh[2] = a * 2^7 + b * 2^6 + c * 2^5 + d * 2^4 + e * 2^3 + f * 2^2 + g * 2^1 + h * 2^0
     = [a * 2^3 + b * 2^2 + c * 2^1 + d * 2^0] * 16^1 + [e * 2^3 + f * 2^2 + g * 2^1 + h * 2^0] * 16^0
     = (abcd)(efgh)[16]

     = [a * 2^1 + b * 2^0] * 8^2 + [c * 2^2 + d * 2^1 + e * 2^0] * 8^1 + [f * 2^2 + g * 2^1 + h * 2^^0] * 8^0
     = (ab)(cde)(fgh)[8]

となるからです。カッコ () 内は、その進数での「1桁」です。

これを使えば
 12A[16] = 0001 0010 1010[2] ←この4桁が16進数1桁に対応
     = 000 100 101 010[2] ←上記の2進数を「3桁ごと」に分ける
     = 0 4 5 2 [8]  ←上記の2進数を「3桁」を「8進数」に変換
     = 452[8]
と簡単に変換できます。

これは、16進数、8進数が 2^4, 2^3 で表わせるからであって、他の「5進数」とか「12進数」などの場合には、一番上に書いたような一度 10進数を経由するのが確実だと思います。
    • good
    • 0

まず2進数に書きなおす。


12A → 100101010

下から3ビットずつに区切る。
100 101 010
3ビットずつ8進数に書きなおす。
452 になる。
変換を間違えてないか、再確認してね。

公式に当てはめて・・・、なんて考えるから間違える。
めんどくさいようだけど元の2進数に戻って書きなおせばよいのです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報