- 締切済み
2進数について
閲覧ありがとうございます。資格試験に向けて勉強中なのですがわからないところがあるので質問させていただきます。 30.25-52.625 という計算を2の補数を用いて計算するのですが計算結果が合いません。 具体的には2の補数を用いて (31.25)10-(52.625)10=(11111.01)2+(1001011.011)2 =(1101010.101)2=(-42.375)10 となってしまいます 2の補数が間違ってるとは思うんですがどこが間違ってるのかがよくわかりません。 (52.625)10=(110100.101)2より2の補数は (1001011.011)2と算出しました
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- riddle09
- ベストアンサー率32% (105/320)
回答No.2
(52.625)10=(110100.101)2 ですから8ビットで考えれば -(52.625)10=(11001011.011)2 です。 従って、 (31.25)10-(52.625)10 =(11111.01)2+(11001011.011)2 =(11101010.101)2 =-(10101.011)2 =-(21.375)10 計算結果を、補数から通常の2進数に戻す時に間違ったのでは?
- a_simigonn
- ベストアンサー率26% (7/26)
回答No.1
(31.25)10-(52.625)10=(11111.01)2+(1001011.011)2 のところで、0.625(10)=0.101(2)なので、52.625の2進化した数値が違っているかと思います。 1001011.011を1001011.101に直して計算を行えば、求める結果が出るかと思いますので、確認してみていただければと思います。