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] List型コレクションの最後の要素を取得する

List型コレクションの最後の要素を取得するサンプルです。 サンプルソース 例)List型の最後の要 ...

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

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

[Java共通部品] 日付文字列(YYYYMMDD)に指定した日数を加算する

日付文字列(YYYYMMDD)に指定した日数を加算した日付文字列を返す共通関数サンプルです。 サンプ ...

[Java] 配列の全要素に初期値をセットする

配列の全要素に初期値セットしたい時は、 java.util.Arraysクラスのfillメソッドが便 ...

[Java] 文字列の指定位置の文字を取得する(.charAt)

文字列の指定位置の文字を取得するには、.charAtを使用します。 構文 (java.lang.St ...