/**
* @(#)Bitwise.java
*
*
* @author mr frans rudolf banjarnahor
* @version 1.00 2011/2/27
*/
public class Bitwise {
/**
* Creates a new instance of <code>Bitwise</code>.
*/
public Bitwise() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// dapat diaplikasi kan pada tipe data int, long, short, char,dan byte untuk melakukan operasi pada bilangan biner(bit)
//Bitwise logik or(|) and(&) not(~) xor(^)
// A B A | B A & B A ^ B ~A
// 0 0 0 0 0 1
// 1 0 1 0 1 0
// 0 1 1 0 1 1
// 1 1 1 1 0 0
Byte [] A = {0,1,0,1};
Byte [] B = {0,0,1,1};
System.out.println("Logical AND");
int i=0;
System.out.println("A\t&\tB\tA&B");
for (Byte x:A)
{
System.out.println(x +"\t\t"+B[i]+"\t"+(x&B[i]));
i++;
}
System.out.println("");
System.out.println("Logical OR");
System.out.println("A\t&\tB\tA&B");
i=0;
for (Byte x:A)
{
System.out.println(x +"\t\t"+B[i]+"\t"+(x|B[i]));
i++;
}
System.out.println("");
System.out.println("Logical XOR");
System.out.println("A\t&\tB\tA&B");
i=0;
for (Byte x:A)
{
System.out.println(x +"\t\t"+B[i]+"\t"+(x^B[i]));
i++;
}
System.out.println("");
System.out.println("Logical NOT");
System.out.println("A\t~A");
i=0;
for (byte x:A)
{
System.out.println(x+"\t"+(~x));
i++;
}
System.out.println("");
System.out.println("Shift LEFT artinya geser kekiri sejumlah y bit");
Integer X = 2;
Integer y = 2;
System.out.println("X="+X+"(biner)\t\t\ty\t\tX<<y");
System.out.println(Integer.toBinaryString(X) + "\t\t\t\t" + y + " bit\t\t" + Integer.toBinaryString(X<<y) + "(" + (X<<y) + " int)");
System.out.println("");
System.out.println("Shift LEFT artinya geser kekiri sejumlah y bit");
X = 64;
y = 4;
System.out.println("X="+X+"(biner)\t\t\ty\t\tX>>y");
System.out.println(Integer.toBinaryString(X) + "\t\t\t" + y + " bit\t\t" + Integer.toBinaryString(X>>y) + "(" + (X>>y) + " int)");
}
}
hasil:
Logical AND
A & B A&B
0 0 0
1 0 0
0 1 0
1 1 1
Logical OR
A | B A|B
0 0 0
1 0 1
0 1 1
1 1 1
Logical XOR
A ^ B A^B
0 0 0
1 0 1
0 1 1
1 1 0
Logical NOT
A ~A
0 -1
1 -2
0 -1
1 -2
Shift LEFT artinya geser kekiri sejumlah y bit
X=2(biner) y X<<y
10 2 bit 1000(8 int)
Shift RIGHT artinya geser kekanan sejumlah y bit
X=64(biner) y X>>y
1000000 4 bit 100(4 int)
Tidak ada komentar:
Posting Komentar