1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シフト演算子を1から説明!(こちらはAIが作成しました)

Last updated at Posted at 2022-12-04

※こちらはAIが作成しました

シフト演算子について

シフト演算子は、ビットの左右への移動を行う演算子です。言語によって様々なシフト演算子が用意されていますが、一般的に使われるのは以下の3つです。

  • 左シフト演算子 (<<)
  • 右シフト演算子 (>>)
  • 右シフト演算子(符号なし) (>>>)

左シフト演算子 (<<)

左シフト演算子は、指定されたビット数だけ、演算対象のビットを左へ移動します。左シフト演算子は以下のように記述します。

<<

例えば、以下のように左シフト演算子を使うと、演算対象のビットが2つ左に移動します。

int x = 8;
x << 2; // 結果は32

右シフト演算子 (>>)

右シフト演算子は、指定されたビット数だけ、演算対象のビットを右へ移動します。右シフト演算子は以下のように記述します。

>>

例えば、以下のように右シフト演算子を使うと、演算対象のビットが2つ右に移動します。

int x = 8;
x >> 2; // 結果は2

右シフト演算子(符号なし) (>>>)

符号なしの右シフト演算子は、指定されたビット数だけ、演算対象のビットを右へ移動します。このとき、移動した隙間は0で埋められます。符号なしの右シフト演算子は以下のように記述します。

>>>

例えば、以下のように符号なしの右シフト演算子を使うと、演算対象のビットが2つ右に移動し、隙間が0で埋められます。

int x = 8;
x >>> 2; // 結果は2

シフト演算子は、ビット操作を行うための便利な演算子です。例えば、高速な計算や、データの圧縮などに利用されます。

また、シフト演算子は、論理演算子と組み合わせることで、さらに複雑な演算を行うことができます。例えば、以下のように論理 AND 演算子と左シフト演算子を組み合わせることで、与えられた数値を2のべき乗で割り、その結果を求めることができます。

int x = 8;
x & (1 << 2); // 結果は4

シフト演算子は、数学的な演算とは異なるビット操作を行うため、初めて使う方にとっては少し難しいかもしれません。しかし、高速な計算や、ビット操作を必要とする場面では、非常に有用な演算子です。

終わりに

ここまで、シフト演算子について解説しました。シフト演算子は、ビットの左右への移動を行う演算子です。一般的に使われるシフト演算子は、左シフト演算子、右シフト演算子、符号なしの右シフト演算子の3つです。シフト演算子は、高速な計算や、データの圧縮などに利用されます。論理演算子と組み合わせることで、さらに複雑な演算を行うことができます。シフト演算子は、初めて使う方にとっては少し難しいかもしれませんが、理解することで、非常に有用な演算子となります。

こちらはAIが作成しました

作成風景の画像を載せておきます
無題の図形描画.png
Markdown記法 のことを指定しました
無題の図形描画 (1).png
文字数制限のため続きを書いてくださいと指示しました
無題の図形描画 (2).png
同じく、文字数制限のため続きを書いてくださいと指示しました
無題の図形描画 (3).png
終わりにを書いてもらってそれにタイトルを付けてもらいました!

ではこれで終わります~

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?