| |
|
|
|
|
| |
 |
ビット演算子編 |
 |
◆演算子とは? |
| プログラミングにおいて、演算方法を指示する記号のことです。演算の対象となる値や変数はオペランドといい、「x + 100」の場合「+」が演算子で、「x」、「100」がオペランドです。 |
| ◆ここでの環境 |
| OS |
Windows XP |
| J2SE SDK |
1.4.2_04 |
|
|
|
|
| ◆ビット演算子 |
| ビット演算子とは変数に格納されたデータのビットを直接操作するための演算子のことです。 |
| ビット演算子 |
使用例 |
説明 |
| & |
x &
y |
xとyが整数型の場合、xとyのビットごとのAND演算を行う |
| | |
x | y |
xとyが整数型の場合、xとyのビットことのOR演算を行う |
| ^ |
x^y |
xとyが整数型の場合、xとyのビットごとのXOR演算を行う |
| ~ |
~x |
xが整数型の場合、xのビットごとのNOT演算を行う |
|
| ■AND演算( & ) |
| 論理積演算とも呼ばれます。入力されたビットが両方とも1の場合に1を出力する演算です。 |
| 入力1 |
入力2 |
出力 |
| 0 |
0 |
0 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
1 |
|
| ■OR演算( | ) |
| 論理和演算とも呼ばれます。入力されたビットのいずれかが1の場合に1を出力する演算です。 |
| 入力1 |
入力2 |
出力 |
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
1 |
|
| ■XOR演算( ^ ) |
| 排他的論理和演算とも呼ばれます。入力された2つのビットが異なっていた場合1を出力する演算です。 |
| 入力1 |
入力2 |
出力 |
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
0 |
|
| ■NOT演算( ~ ) |
| 論理否定演算とも呼ばれます。入力されたビットを反転して出力する演算です。 |
|
| |
| ■サンプルプログラム |
| Enzanshi7.java(ここからダウンロード) |
public class Enzanshi7 {
public static void main(String[] args) {
byte b1 = 3; // ビット表現 00000011
byte b2 = 9; // ビット表現 00001001
int i1 = b1 & b2; // i1のビット表現 00000000 00000000 00000000 00000001
int i2 = b1 | b2; // i2のビット表現 00000000 00000000 00000000 00001011
int i3 = b1 ^ b2; // i3のビット表現 00000000 00000000 00000000 00001010
int i4 = ~b1; // i4のビット表現 11111111 11111111 11111111 11111100
System.out.println("i1の値は " + i1 + " です。");
System.out.println("i2の値は " + i2 + " です。");
System.out.println("i3の値は " + i3 + " です。");
System.out.println("i4の値は " + i4 + " です。"); }
} |
|
| ■コンパイルと実行 |
| コマンドプロンプト |
C:\JavaHello\Basic\Operator>javac
Enzanshi7.java
C:\JavaHello\Basic\Operator>java
Enzanshi7
i1の値は 1 です。
i2の値は 11 です。
i3の値は 10 です。
i4の値は -4 です。
C:\JavaHello\Basic\Operator> |
|
| おおお!ビット演算ができましたね! |
|
|
■書籍 Java関連の書籍 |
|
|
| |
|
| |
| ツールの部屋
- Java関連の書籍
- デザインパターン - 情報交換掲示板
- HOME |
|
|