2016-06-28 13 views
0

2つの8ビットの数値を加算しようとしていますが、どちらか一方が負、もう一方が正です。ここでは、私が何をすべきかです:減算8ビットの2進数

92-113 

ので、私はバイナリ

92 - 01011100 
113 - 01110001 

として、各番号を表す0に1と0〜1を変更した後、私が手:

10001110 and after adding 1 I have 1000111 which is -113 

その後、私は」それらを追加すると、私は得る:

11101011 

何私はおそらく間違って何をするのだろうか?/

+0

なぜ意味がありませんか?あなたの意見にはどんな意味がありますか? –

+0

'11101011' =' 0xEB' = '-21'です。これは正解です。 –

答えて

0

あなたが何かを見つけられていない - 11101011は8ビット符号付きバイナリで-21(92-113)のバイナリに相当します。

シングド整数型の場合、左=ほとんどのビットは、その数が正か負かを決定します。逆数を得るには、右端を除くすべてのビットを反転させます。それは、113から-113に変換するのに使ったのと同じプロセスです。

これを行うと、00010101が21になります。したがって、11101011は-21です。

関連する問題