/**
* {@link <a href=
* "https://[Log in to view URL]"
* target="_blank">Operatori sui bit</a>}
*
* @author itammb ( Italia Massimiliano Buscati )
* @version JDK 1.15
*
*/
class Main {
public static void applayBitwiseOperator() {
int a = 5, b = 7;
// and è codificato dal simbolo &
// 0101b & 0111b = 0101b = 5d
System.out.println("(" + a + " & " + b + ") = " + (a & b));
// or è codificato dal simbolo |
// 0101b | 0111b = 0111b = 7d
System.out.println("( " + a + " | " + b + " ) = " + (a | b));
// xor è codificato dal simbolo ^
// 0101b ^ 0111b = 0010b = 2d
System.out.println("( " + a + " ^ " + b + ") = " + (a ^ b));
// il complemento è codificato dal simbolo ~
// 5d = 0101b = ~0101b = 1010b = -6d
System.out.println("~" + a + " = " + ~a);
}
public static void applayBitwiseOperatorAndAssignment() {
int a = 5, b = 7;
// abbreviazione di a = a & b
a &= b;
System.out.println(a + " &= " + b + " -> " + a);
}
public static void applyShiftOperator() {
int a = 2;
// left shift di 2 bit
// 2d = 10b -> 2d << 2 = 1000b = 8d
System.out.println(a + " << 2 -> " + (a << 2));
// 2right shift di 2 bit
// 2d = 10b -> 2d >> 2 = 0b = 0d
System.out.println(a + " >> 2 -> " + (a >> 2));
}
public static void main(String[] args) {
// Unit test - applica un operatore di manipolazione sui bit [ &, |, ^, ~ ]
applayBitwiseOperator();
System.out.println();
// Unit test - applica un operatore di manipolazione sui bit [ &= ] e assegna il
// risultato a una variabile
applayBitwiseOperatorAndAssignment();
System.out.println();
// Unit test - applica un operatore di rotazione sui bit [ >>, << ]
applyShiftOperator();
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: