Posted by : Fun To Programming
Minggu, 01 Juli 2012
/*BitwiseComplementToy.java
Author Frozenheart Programmer
Created On May 24 2012 at 4.04 am
*/
public class BitwiseComplementToy{
public static void main (String args[]){
int x = 8;
System.out.println("x= "+x);
int y = ~x;
System.out.println("y = "+y);
}
}
/*Logika Program
Operator Bitwise complement operator (~) melakukan negasi bitwise nilai
bilangan bulat.Bitwise negation berarti masing-masing bit di angka maka semua bilangan biner
0 menjadi 1 dan semua bilangan biner 1 menjadi 0
Pada program dia atas x diberi nilai 8,kemudian dilakukan bitwise complement sebelum diberikan ke y
Hal ini berarti smua bit di variabel dinegasikan ,hasilnya adalah bilangan bulat -9
Contoh program diatas terjadi karena bilangan int menggunakan two's complement.
Semua bilangan int (kecuali char) direpresentasikan two's complement yang berarti negatif di representasikan
dengan inversi semua bit ditambah 1.
karena 8 = 0 0 0 0 1 0 0 0 <<< 8 bit 2 complement(2 bagian)
128 64 32 16 8 4 2 1
Dihitung delapan karena letak 1 sebagai input ada pada letak no 8
lalu kita ubah smuanya dari 0 jadi 1 dan 1 jadi 0 sesuai dengan ketentuan Operator Bitwise
1 1 1 1 0 1 1 1 = (8+4+2+1) - (4+2+1) = 15 - 7 = 8 --->>> -9
8 4 2 1 8 4 2 1
kenapa -9???karena disaat semua bit inversikan maka ditambah 1
Dalam Operator bitwise Mengubah bit yang paling kiri berarti mengubah tanda bilangan dari positif menjadi negatif dan sebaliknya
*/
Output Program
Wah~ trimakasih om Hanif Merah jambu~ XDD
BalasHapus