16進数の F D 1A 2を8進数に変換するさい、10進数に一度直してから変換する計算式として
F*16^3+D*16^2+1A*16^1+2*16^0=65186(10進数)

65186/8=8148...2
8148/8=1018...4
1018/8=127...2
127/8=15...7
15/8=1...7
1/8=0...1

答え232771

であっているのでしょうか。

普段変換ツールで答え合わせをしているのですが、16進数の1Aをどうも1とAと認識しているらしく上手く答え合わせができないので質問しました。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

>普段変換ツールで答え合わせをしているのですが、


>16進数の1Aをどうも1とAと認識しているらしく

1A は 1 と A の2桁ですよ。どうして 1A だと思うのでしょう
そもそも16進一桁で 1A って何? 理解できません。

素直に、FD1A2 は 5桁の16進数として計算すると

15 x 16^4 + 13 x 16^3 + 1 x 16^2 + 10 x 16 + 2
= 15 x 65536 + 13 x 4096 + 1 x 256 + 10 x 16 + 2
= 983040 + 53248 + 256 + 160 + 2 = 1036706

1036706 ÷ 8 = 129588 余り 2
129588 ÷ 8 = 16198 余り 4
16198 ÷ 8 = 2024 余り 6
2024 ÷ 8 = 253 余り 0
253 ÷ 8 = 31 余り 5
31 ÷ 8 = 3 余り 7
3 ÷ 8 = 0 余り 3

従って8進では、3750642

で、手計算でやるなら2進数経由でやる方がずっと楽なので
数字の後ろにn進数の n を (n) という形で付加して書くと

FD1A2(16) = 1111 1101 0001 1010 0010(2)
= 11 111 101 000 110 100 010(2) = 3750642(8)

16 = 2^4, 8 = 2^3 なので、まず、16進一桁を2進の4桁に直し
2進の3桁ずつ を8進の一桁の直すだけです。
    • good
    • 1

16進数の1Aは1とAで合ってますよね?


質問者の計算から逆算すると
F*16^3=61440
D*16^2=3328
2=2
計64770
65186-64770=416
416/16=26
26=16+10=16+A=1A
1とAが別々の桁として扱ってますよね?

という事は、それから上の桁で16をかけている数が足りません。
10進数に直すなら、
F*16^4+D*16^3+1*16^2+A*16^1+2*16^0
=983040+53248+256+160+2
=1036706
です。

そして8進数に直す時も間違えています。
65186を8進数にするなら、
65186=8*8148+2
8148=8*1018+4
1018=8*127+2
127=8*15+7
15=8*1+7
1=8*0+1
より、177242です。1つめの計算で8の倍数余り2であることが分かるので、1の桁が2ですね。

1036706の場合は
1036706=8*129588+2
129588=8*16198+4
16198=8*2024+6
2024=8*253+0
253=8*31+5
31=8*3+7
3=8*0+3
よって3750642となります。

しかし、これは二度手間です。
F*16^4+D*16^3+1*16^2+A*16^1+2*16^0を変形させると、
15*8^4*2^4+13*8^3*2^3+8^2*2^2+10*8*2+2
=30*8^5+13*8^4+4*8^2+20*8+2
=3*8^6+6*8^5+8^5+5*8^4+4*8^2+2*8^2+4*8+2
=3*8^6+7*8^5+5*8^4+0*8^3+6*8^2+4*8+2
よって3750642

式で書くとやや分かりづらいですが、手書きなら、16の倍数の数を8の倍数の数に変換し、まとめ直した値が8以上なら繰り上げする。というだけですよ。
    • good
    • 1

16進数を8進数に変換するなら、10進数に一度直してから変換するのは愚の骨頂で、2進数経由で変換すべきでしょう。



16進数の1桁を、2進数4桁に変換する。
 ↓
この2進数を「3桁ずつ」区切って、8進数に変換する。

16進数が、次のように「2進数」で表せることは、情報処理をやっていれば常識でしょう?
 0 → 0000
 1 → 0001
 2 → 0010
 3 → 0011
 4 → 0100
 5 → 0101
 6 → 0110
 7 → 0111
 8 → 1000
 9 → 1001
 A → 1010
 B → 1011
 C → 1100
 D → 1101
 E → 1110
 F → 1111

お示しの「FD1A2」に関しては
 FD1A2
  ↓
(各桁を、それぞれ2進数4桁に変換)
 1111 1101 0001 1010 0010
  ↓
(下から3桁ずつに区切り直し)
 11 111 101 000 110 100 010
  ↓
(3桁ごとの区切りを8進数に変換。変換方法は、上の0~7をそのまま逆変換)
 3 7 5 0 6 4 2
    • good
    • 2

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング