ホームページ Java &#&チュートリアル Java のビット演算子とシフト演算の詳細な紹介

Java のビット演算子とシフト演算の詳細な紹介

Dec 16, 2016 pm 04:59 PM

1. ビット演算

Java には 4 つのビット演算があります。その演算規則は次のとおりです:

(1) ビットごとの AND (&): 2 つのビットが両方とも 1、それ以外の場合は 0。

( 2) ビット単位の OR (|): 2 つのビットのいずれかが 1 の場合、結果は 1 になり、それ以外の場合は 0 になります。

(3) ビット単位の否定 (~): 0 は 1 になり、1 は 0 になります。

(4 ) ビットごとの XOR (^): 2 つのビット、それらが同じ場合、結果は 0、異なる場合、結果は 1 です。

注:

(1) 符号ビット (最上位ビット)

(2) ビット演算子は、論理演算子 (論理 AND &&、論理 OR ||、論理 NOT!) に似ています。ただし、論理演算子はブール変数

に対してのみ演算できます (つまり、左側と右側の値はブール値です)

(1) ~5 = ?

a) 5 の補数 コードは次のとおりです:

00000000 00000000 00000000 00000101


b) 5 のビット単位の否定 (~) は次のとおりです:

11111111 11111111 11111111 1010

注: 上位桁が 1 (負の数) であるため、補数は元のコードに変換する必要があります。上位桁が 0 (正の数) の場合は、元のコード、補数コード、および正の数の補数コードが変換されるため、補数コードを元のコードに変換する必要はありません。同じだ。

c) 負の数の補数を補数に変換します:

11111111 11111111 11111001


d) 負の数の補数を元のコードに変換します:

10000000 00000000 0 000 00000110

e)元のコードは 2 進数に変換されます:

10000000 00000000 00000000 00000110 = 0 * 2^0 + 1 * 2^1 + 1 * 2^2 = 0+2+4 = -6 (最上位ビットは 1) 、つまり負の数です)


3. シフト演算:

Java には 3 つのシフト演算子があります。

(1) 算術右シフト (>>): 下位ビットはオーバーフローし、符号ビットは変更されず、オーバーフローした上位ビットは符号ビットで埋められます。例: a >> : a は移動する数値、b は移動する桁数、以下にも同じことが当てはまります

(2) 算術左シフト (


(3) 論理右シフト (>> ;>): 下位ビットはオーバーフローし、上位ビットは 0 で埋められます。論理右シフト (>>>) もそれに応じて変化します;

IV. 注:

ビット演算とシフト ビット演算はすべて 2 進補数を使用して演算を実行するため、避けてください。


Java のビット演算子とシフト演算の詳細については、PHP 中国語 Web サイトに注目してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)