0

2 進数の反対の数を取得したい (x--> -(x) および -(x) --> x を意味します)。

アルゴリズムは?すべてのビット(「1」を「0」、「0」を「1」)に変更し、それに「1」を追加することを考えました。大丈夫ですか ?

thnx

4

2 に答える 2

4

あなたのアルゴリズムは、2 の補数に対して正しいです。

-x = ~x + 1

補足として、次を使用します。

-x = ~x

符号の大きさの数値の場合:

-x = x ^ (1 << n)

nは、ワード内の符号ビットのオフセットです。ここでは C 演算子表記法を使用しています。^はビットごとの排他的 OR 演算子で<<、左シフトです。

別の数値表現については、他の操作を使用する必要があります。

于 2011-03-28T20:28:09.800 に答える
3

負の数の表現方法によって異なります。2 の補数表現が必要ですか? 補数表現が必要ですか?

詳細については、ウィキペディアを確認してください

于 2011-03-28T20:29:23.267 に答える