- 締切済み
基数変換
2進数の10111.101がどうして17,Aになるのですか? 教えてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 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になりますね。
- himajin100000
- ベストアンサー率54% (1660/3060)
回答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
質問者
お礼
101の部分がAになる理由がよくわかりません。
お礼
小数点以下は3ビットの区切るって言われたのですが、それは間違いですか?