「ビット演算子」の編集履歴(バックアップ)一覧はこちら

ビット演算子 - (2009/03/20 (金) 02:23:59) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

*ビット演算子 Javaにおいてビット演算子とはビット単位の操作を行うための演算子です。 ビット演算子には以下の演算子を使います。 #html2(){{{{{{ <table class="mock"> <tr><th>ビット演算子</th><th>使用例 </th><th>機能 </th></tr> <tr><td>>> </td><td>A >> B </td><td>Aを右にBビットシフト </td></tr> <tr><td><< </td><td>A << B </td><td>Aを左にBビットシフト </td></tr> <tr><td>>>> </td><td>A >>> B </td><td>Aを右にBビット論理シフト </td></tr> <tr><td>& </td><td>A & B </td><td>AとBについてビットごとのAND </td></tr> <tr><td>| </td><td>A | B </td><td>AとBについてビットごとのOR </td></tr> <tr><td>^ </td><td>A ^ B </td><td>AとBについてビットごとの排他的OR </td></tr> <tr><td>~ </td><td>~A </td><td>Aについてビットごとの反転 </td></tr> </table> }}}}}} ビット演算子 : bit operator // bitwise operator bit : ビット、2進数(binary number)の単位【語源】binary digitの略 bitwise : ビット単位の、ビット位置の、ビットごとの binary : 2値の、2進法の digit : (アラビア)数字、〔数字の〕けた らしいです。 ---- **ビット演算子 使用例 1 BitOperatorSample1.java class BitOperatorSample1 { public static void main(String[] args) { // 0001 0000 byte byteOperand = 16; byte shiftOperand = 2; // 0001 0000 → 0000 0100 System.out.println("byteOperand >> shiftOperand : " + (byteOperand >> shiftOperand)); // 0001 0000 → 0100 0000 System.out.println("byteOperand << shiftOperand : " + (byteOperand << shiftOperand)); } } 実行結果 C:\java>javac BitOperatorSample1.java C:\java>java BitOperatorSample1 byteOperand >> shiftOperand : 4 byteOperand << shiftOperand : 64 ---- **ビット演算子 使用例 2 BitOperatorSample2.java class BitOperatorSample2 { public static void main(String[] args) { // 1111 1111 1111 1111 1111 1111 1111 int intOperand = -1; /* * 1111 1111 1111 1111 1111 1111 1111 → 0011 1111 1111 1111 1111 1111 1111 1111 * (2の30乗-1=1073741823) */ System.out.println("intOperand >>> 2 : " + (intOperand >>> 2)); } } 実行結果 C:\java>javac BitOperatorSample2.java C:\java>java BitOperatorSample2 intOperand >>> 2 : 1073741823 ---- **ビット演算子 使用例 3 BitOperatorSample3.java class BitOperatorSample3 { public static void main(String[] args) { int intOperand1 = 19; int intOperand2 = 21; System.out.println(intOperand1 + " : " + Integer.toBinaryString(intOperand1)); System.out.println(intOperand2 + " : " + Integer.toBinaryString(intOperand2)); System.out.println("19 & 21 : " + Integer.toBinaryString(intOperand1 & intOperand2)); System.out.println("19 | 21 : " + Integer.toBinaryString(intOperand1 | intOperand2)); System.out.println("19 ^ 21 : " + Integer.toBinaryString(intOperand1 ^ intOperand2)); System.out.println("~19 : " + Integer.toBinaryString(~intOperand1)); } } 実行結果 C:\java>javac BitOperatorSample3.java C:\java>java BitOperatorSample3 19 : 10011 21 : 10101 19 & 21 : 10001 19 | 21 : 10111 19 ^ 21 : 110 ~19 : 11111111111111111111111111101100
*ビット演算子 Javaにおいてビット[[演算子]]とはビット単位の操作を行うための演算子です。 ビット演算子には以下の演算子を使います。 #html2(){{{{{{ <table class="mock"> <tr><th>ビット演算子</th><th>使用例 </th><th>機能 </th></tr> <tr><td>>> </td><td>A >> B </td><td>Aを右にBビットシフト </td></tr> <tr><td><< </td><td>A << B </td><td>Aを左にBビットシフト </td></tr> <tr><td>>>> </td><td>A >>> B </td><td>Aを右にBビット論理シフト </td></tr> <tr><td>& </td><td>A & B </td><td>AとBについてビットごとのAND </td></tr> <tr><td>| </td><td>A | B </td><td>AとBについてビットごとのOR </td></tr> <tr><td>^ </td><td>A ^ B </td><td>AとBについてビットごとの排他的OR </td></tr> <tr><td>~ </td><td>~A </td><td>Aについてビットごとの反転 </td></tr> </table> }}}}}} ビット演算子 : bit operator // bitwise operator bit : ビット、2進数(binary number)の単位【語源】binary digitの略 bitwise : ビット単位の、ビット位置の、ビットごとの binary : 2値の、2進法の digit : (アラビア)数字、〔数字の〕けた らしいです。 ---- **ビット演算子 使用例 1 BitOperatorSample1.java class BitOperatorSample1 { public static void main([[String]][] args) { // 0001 0000 [[byte]] byteOperand = 16; byte shiftOperand = 2; // 0001 0000 → 0000 0100 System.out.println("byteOperand >> shiftOperand : " + (byteOperand >> shiftOperand)); // 0001 0000 → 0100 0000 System.out.println("byteOperand << shiftOperand : " + (byteOperand << shiftOperand)); } } 実行結果 C:\java>javac BitOperatorSample1.java C:\java>java BitOperatorSample1 byteOperand >> shiftOperand : 4 byteOperand << shiftOperand : 64 ---- **ビット演算子 使用例 2 BitOperatorSample2.java class BitOperatorSample2 { public static void main(String[] args) { // 1111 1111 1111 1111 1111 1111 1111 [[int]] intOperand = -1; /* * 1111 1111 1111 1111 1111 1111 1111 → 0011 1111 1111 1111 1111 1111 1111 1111 * (2の30乗-1=1073741823) */ System.out.println("intOperand >>> 2 : " + (intOperand >>> 2)); } } 実行結果 C:\java>javac BitOperatorSample2.java C:\java>java BitOperatorSample2 intOperand >>> 2 : 1073741823 ---- **ビット演算子 使用例 3 BitOperatorSample3.java class BitOperatorSample3 { public static void main(String[] args) { int intOperand1 = 19; int intOperand2 = 21; System.out.println(intOperand1 + " : " + Integer.toBinaryString(intOperand1)); System.out.println(intOperand2 + " : " + Integer.toBinaryString(intOperand2)); System.out.println("19 & 21 : " + Integer.toBinaryString(intOperand1 & intOperand2)); System.out.println("19 | 21 : " + Integer.toBinaryString(intOperand1 | intOperand2)); System.out.println("19 ^ 21 : " + Integer.toBinaryString(intOperand1 ^ intOperand2)); System.out.println("~19 : " + Integer.toBinaryString(~intOperand1)); } } 実行結果 C:\java>javac BitOperatorSample3.java C:\java>java BitOperatorSample3 19 : 10011 21 : 10101 19 & 21 : 10001 19 | 21 : 10111 19 ^ 21 : 110 ~19 : 11111111111111111111111111101100

表示オプション

横に並べて表示:
変化行の前後のみ表示:
人気記事ランキング
ウィキ募集バナー