- 締切済み
何度も質問して申し訳ありません。16進数の話しです。宜しくお願いします。
次の16進数は2進数ではどのように表せますか。また、10進数ではどうですか。 (1)20 → (2)4C → (3)100 → (4)7F → (5)200 → (6)40 → 自分でも調べてみましたが、 対応表や関数電卓を使って、答えだけなら分かるのですが、 変換しようと思ってもどうしていいのか・・・ その方法(計算式)を教えてほしいです。 本当に何度も申し訳ありませんが、宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
基礎の基礎を。 たとえば10進数の「7235」は次のようになっていますね。 7 2 3 5 | | | | | | | | | | | ここは「1の位」(1が5コ) | | | | | ここは「10の位」(10が3コ) | | | ここは「10の2乗の位」(100が2コ) | ここは「10の3乗の位」(1000が7コ) つまり、1000×7+100×2+10×3+1×5です。 では、16進数の「54B7」の場合はどう考えればいいでしょうか。 同じようにあらわせば次のようになります。 5 4 B 7 | | | | | | | | | | | ここは「1の位」(1が7コ) | | | | | ここは「16の位」(16がBコ(11コ)) | | | ここは「16の2乗の位」(256が4コ) | ここは「16の3乗の位」(4096が5コ) したがって10進数になおす計算式は、 4096×5+256×4+16×11+1×7となります。 2進数も同様に考えて、「1の位」「2の位」「2の2乗の位」「2の3乗の位」・・・とやればいいわけです。 参考にしてください。 (文字ずれがなければいいけど・・・)
2進数に変換するには#1さんの対応表を使用して機械的に置き換えるだけです。16進数1桁と2進数4桁が完全に対応します。 (1)20 →0010 0000 (2)4C →0100 1100 (3)100 →0001 0000 0000 (4)7F →0111 1111 (5)200 →0010 0000 0000 (6)40 →0100 0000 10進数に変換するときは、16進数がどういうしくみで出来ているかを考えましょう。 123を10進数としたとき、 1×10^2+2×10^1+3×10^0 =100+20+3 と計算しています。 同じように、123を16進数としたとき、 1×16^2+2×16^1+3×16^0 =256+32+3 =291 となります。 (1)20 →2×16^1+0×16^0=32 (2)4C →4×16^1+C(12)×16^0=76 (3)100 →1×16^2+0×16^1+0×16^0=256 (4)7F →7×16^1+F(15)×16^0=127 (5)200 →2×16^2+0×16^1+0×16^0=512 (6)40 →4×16^1+0×16^0=64 となります。 各桁の重みをそれぞれの数に掛けて加えれば答えが出ます。
- 774danger
- ベストアンサー率53% (1010/1877)
http://ja.wikipedia.org/wiki/%E5%8D%81%E5%85%AD%E9%80%B2%E6%B3%95 最低限ここの「二・八・十進数との対応」の表を覚えて、あとは桁ごとに計算するだけです
- joqr
- ベストアンサー率18% (742/4026)
16進数は、16で桁上がりします 2進数は、2で桁上がります 10進数は、10で桁上がりします 10進 16進 2進 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 10 A 1010 11 B 1011 12 C 1100 13 D 1101 14 E 1110 15 F 1111 16 10 10000