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

{ 1 komentar... read them below or add one }

Welcome to My Blog

- Copyright © Fun To Programming -Robotic Notes- Powered by Blogger - Designed by Johanes Djogan -