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

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

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

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で質問しましょう!


人気Q&Aランキング

おすすめ情報