ビット演算子で ~x = -(x+1)になる理由がわかりません。2の補数や1の補数についてはなんとなく理解したのですが、単純にビットを反転させたら、値が-になる理由がわかりません。例えば ~10 が -11になる理由がわからないです。10 == 0b1010 のビットを反転させたら、0b0101 == 5 になると思うのですが。
-(x+1)==-x-1 なので -x-1 はxのビットを反転させたもの(=1の補数)と同値であるなら 1の補数==2の補数-1 なので -x==2の補数 であると言えると思うのですが、-x がxの2の補数と同値であるのがなぜなのかわかりません。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。