- 締切済み
情報処理についての質問です。
次の10進数の計算を2進数に直して計算せよ。 (問)25-88を符号付き2進数を用いて計算しなさい。 符号付き2進数は0の時が+、1の時が-とわかっているのですが、それを実際に使っての計算方法がわかりません。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
noname#251548
回答No.2
tmys10さんの回答で完璧だと思いますが、わかりやすいように少し補足をします。 > 88 = 64+16+8 = 01011000(2) > 2の補数は0と1をひっくり返して1を加えるので、 > -88 = 10100111(2) + 1(2) = 10101000(2) > なので、 この時点までで出ている2進数値「10101000(2)」は既にそれ自体でマイナス値なわけですので >25 - 88 = 00011001(2) + 10101000(2) = 11000001(2) 最期の計算は引き算でなく単純に足し算すれば それで計算結果はそのまま 2の補数まで考慮された計算結果になるわけです
- tmys10
- ベストアンサー率36% (338/930)
回答No.1
2の補数でいいんでしたっけ? 8ビットで計算すると: 25 = 16+8+1 = 00011001(2) 88 = 64+16+8 = 01011000(2) 2の補数は0と1をひっくり返して1を加えるので、 -88 = 10100111(2) + 1(2) = 10101000(2) なので、 25 - 88 = 00011001(2) + 10101000(2) = 11000001(2) # 2の累乗をいくつまで覚えているかで歳がわかる :-)