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が欲しい場合

過去バージョンのJDKやJREが欲しい場合は公式ページからダウンロードできます。 過去バージョンのJ ...

[Java共通部品] 日付文字列スラッシュ編集

日付文字列を、スラッシュ編集する共通関数です。 例)YYYYMMDD ⇒ YYYY/MM/DD サン ...

[Java共通部品] CSV文字列をArrayList型に変換するFunction

カンマ区切り文字列(CSV)をList型に変換する共通関数です。 サンプルFunction 例)CS ...

[Java] オブジェクトからクラス名を取得する(.getCanonicalName)

オブジェクトからクラス名を取得するには、Classクラスの.getCanonicalName()を使 ...

[Java] ローカルのIPとホスト名を表示する

ローカルホスト(自分自身が使用しているマシン)のIPとホスト名を取得するサンプルです。 サンプルソー ...