プロが教えるわが家の防犯対策術!

閲覧ありがとうございます。資格試験に向けて勉強中なのですがわからないところがあるので質問させていただきます。

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と算出しました

A 回答 (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進数に戻す時に間違ったのでは?
    • good
    • 0

(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に直して計算を行えば、求める結果が出るかと思いますので、確認してみていただければと思います。
    • good
    • 0

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