• 締切済み

基数変換

2進数の10111.101がどうして17,Aになるのですか? 教えてください。

みんなの回答

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.3

小数点を境にして、2進のビット列を3桁区切りにして、個々の3桁を10進化するのが8進法です。 一方、小数点を境にして、2進のビット列を4桁区切りにして、個々の4桁を16進1桁に割り当てるのが16進法です。 だから、今は16進化の場合を考えているので 小数点を境に、4ビット区切りで区切って下さい。 ビットの桁が不足する場合は後ろにゼロを補って4ビットを作ります。 そして、4ビット区切りにしたものを16進1桁の文字で置き換えていきます。 .101 は小数以下が3ビットしかありませんから、後ろに「0」を補って4ビットの組にします。 .1010 そうすれば .A で置き換えられるでしょう? お分かりですか?

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

10111.101 4ビットの倍数に書き直してみます。 0001 0111.1010 これを4ビットずつ16進で読むと 17.Aになりますね。

nnkkaaoo
質問者

お礼

小数点以下は3ビットの区切るって言われたのですが、それは間違いですか?

回答No.1

10111.101 =2^4 * 1 + 2^3 * 0 + 2^2 * 1 + 2^1 * 1 + 2^0 * 1 + 2^(-1) * 1 + 2^(-2) * 0 + 2^(-3) * 1 =16 + 0 + 4 + 2 + 1 + 1/2 + 0 + 1/8 =16^1 * 1 + 16^0 * 7 + 16^(-1) * 10 よって 17.A

nnkkaaoo
質問者

お礼

101の部分がAになる理由がよくわかりません。

関連するQ&A