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共通部品] 文字列のバイト数を取得する

文字列のバイト数を取得するサンプル共通関数です。 サンプルソース 例)引数に指定した文字列のバイト数 ...

[Java] 例外発生時のスタックトレースを出力する(.printStackTrace)

例外発生時のスタックトレースを出力するには、.printStackTrace()を使用します。 サン ...

[Java] enum型(列挙型)を使う

enum型(列挙型)を使うサンプルです。 enum型は、定数をグルーピングするような使い方ができます ...

[Java] Map型の全要素をループ処理する

Map型の全要素をループ処理するサンプルです。 サンプルソース 例)Map型の全要素のkeyとval ...

[Java] 1970年1月1日からのミリ秒からDateオブジェクトに日付を設定する(.setTime)

1970年1月1日からのミリ秒からDateオブジェクトに日付を設定するには、.setTime()を使 ...