Javaちょこっとリファレンス ブログ

Java開発時にぜひご利用ください。

Java基本

[Java] シフト演算のサンプル

投稿日:2022年10月25日 更新日:

シフト演算のサンプルです。

サンプルソース

例)シフト演算を行う

(結果)
C:\>java ShiftSample 32 64 8 4

シフト演算解説

シフト演算は、まず対象の数値を2進数にして考えます。
そしてその2進数のビットを左右にずらす(シフトする)ことで演算を行います。

上記サンプルを例にしますと、元となる数字16を2進数にすると、
「00010000」(=16)です。

これを1ビット左シフトさせると、全てのビットを左へ1つずつずらすことになるので、
「00100000」(=32)となります。
(ずらすことで1桁目に必要となる部分にはゼロが入ります。)

同じように元の数字を2ビット左シフトさせると、
「01000000」(=64)となります。

今度は元の数字を1ビット右シフトさせると、
「00001000」(=8)となります。
(ずらすことで一番左に必要となる部分にはゼロが入ります。)

結果、桁落ちしない限り
左シフトさせると2倍、4倍、8倍・・・となり、
右シフトさせると1/2倍、1/4倍、1/8倍となりますので、
シフト演算では倍数の計算を簡単に行うことができます。

また、シフト演算はコンピュータが理解しやすい形式の演算なので処理速度が速いことも特徴です。

関連項目

スポンサーリンク

スポンサーリンク

-Java基本
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[Java] 文字列の長さを取得する(length、codePointCount)

文字列の文字数を取得するにには、.length() または .codePointCount() を使 ...

[Java] 標準入力からの値を受け取る(Scanner)

Javaの標準入力からの値を受け取るには、java.util.Scanner を使用します。 サンプ ...

[Java] スタックトレースを配列で取得する(.getStackTrace)

例外発生時のスタックトレースの1行1行を配列で取得するには、.getStackTrace()を使用し ...

[Java共通部品] 数値範囲チェック

対象数値が指定した範囲内であるかどうかをチェックするメソッドのサンプルです。 サンプルソース 例)指 ...

[Java] ガベージコレクションを強制的に実行する

ガベージコレクションを強制的に実行するには、 Runtime#gc() を使用します。 サンプルソー ...