teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

訂正

2021/09/12 07:12

投稿

amiya
amiya

スコア1218

answer CHANGED
@@ -1,16 +1,23 @@
1
- ビット演は符号の有無は無視して、そのまま桁ごとに演算がされま
1
+ あ。術シフトを避ける為でね……
2
2
 
3
+
4
+ ~~
5
+ ビット演算は符号の有無は無視して、そのまま桁ごとに演算がされます。~~
6
+ ~~
3
7
  たとえば、
4
8
  `int x = 0; //00000000`
5
9
  をnotで反転
6
10
  `~x`の値は`11111111 = -1`
7
11
  になります。
8
12
  同様に、`1`を反転すると`-2`になります。
9
-
13
+ ~~
14
+ ~~
10
15
  符号があるのに無視されることでおかしな事になるので、unsignedで初めから符号はなかったものとして扱います。
11
-
16
+ ~~
17
+ ~~
12
18
  `unsigned int x=0;`
13
19
  をnotで反転
14
20
  `~x`の値は`11111111 = 255`
15
21
  になります。
16
- 同様に、`1`を反転すると`254`になります。
22
+ 同様に、`1`を反転すると`254`になります。
23
+ ~~