Difference between revisions of "JAVA: Operator Bitwise di Java"
Onnowpurbo (talk | contribs) (Created page with " Operators constitute the basic building block to any programming language. Java too provides many types of operators which can be used according to the need to perform variou...") |
Onnowpurbo (talk | contribs) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | Operator merupakan blok bangunan dasar untuk bahasa pemrograman apa pun. Java juga menyediakan banyak jenis operator yang dapat digunakan sesuai dengan kebutuhan untuk melakukan berbagai perhitungan dan fungsi, baik itu logika, aritmatika, relasional, dll. Diklasifikasikan berdasarkan fungsionalitas yang disediakan. Berikut beberapa jenisnya: | ||
− | |||
− | Arithmetic | + | * Operator Arithmetic |
− | Unary | + | * Operator Unary |
− | Assignment Operator | + | * Operator Assignment |
− | Relational | + | * Operator Relational |
− | Logical | + | * Operator Logical |
− | Ternary Operator | + | * Operator Ternary |
− | Bitwise | + | * Operator Bitwise |
− | Shift | + | * Operator Shift |
− | |||
− | Bitwise | + | Artikel ini menjelaskan semua yang perlu diketahui tentang Operator Bitwise. |
− | |||
− | |||
− | + | ==Operator Bitwise== | |
− | + | Operator bitwise digunakan untuk melakukan manipulasi bit individu dari sebuah angka. Mereka dapat digunakan dengan semua tipe (char, short, int, dll.). Mereka digunakan saat melakukan pembaruan dan operasi query pada Binary indexed tree. | |
− | + | Mari kita lihat masing-masing operator bitwise di Java: | |
− | |||
− | |||
− | + | ==1. Bitwise OR (|)== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Operator ini adalah operator biner, dilambangkan dengan '|'. Ini mengembalikan bit demi bit OR dari nilai input, yaitu, jika salah satu bit adalah 1, ia memberikan 1, selain itu menunjukkan 0. | |
− | + | Contoh: | |
− | a = 5 = 0101 ( | + | a = 5 = 0101 (Binary) |
− | b = 7 = 0111 ( | + | b = 7 = 0111 (Binary) |
− | Bitwise | + | Bitwise OR Operasi 5 dan 7 |
− | + | ||
− | + | 0101 | |
− | + | | 0111 | |
− | + | ________ | |
− | + | 0111 = 7 (decimal) | |
+ | |||
+ | ==2. Bitwise AND (&)== | ||
+ | |||
+ | Operator ini adalah operator biner, dilambangkan dengan '&.' Ini mengembalikan bit demi bit AND dari nilai input, yaitu jika kedua bit adalah 1, ia memberikan 1, jika tidak menunjukkan 0. | ||
+ | |||
+ | Contoh: | ||
+ | |||
+ | a = 5 = 0101 (Binary) | ||
+ | b = 7 = 0111 (Binary) | ||
+ | |||
+ | Bitwise AND Operasi 5 dan 7 | ||
− | + | 0101 | |
+ | & 0111 | ||
+ | ________ | ||
+ | 0101 = 5 (Decimal) | ||
− | + | ==3. Bitwise XOR (^)== | |
− | + | Operator ini adalah operator biner, dilambangkan dengan '^.' Ini mengembalikan bit demi bit XOR dari nilai input, yaitu, jika bit yang sesuai berbeda, memberikan 1, selain itu menunjukkan 0. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Contoh: | |
− | + | a = 5 = 0101 (Binary) | |
+ | b = 7 = 0111 (Binary) | ||
− | + | Operasi XOR Bitwise 5 dan 7 | |
− | + | 0101 | |
+ | ^ 0111 | ||
+ | ________ | ||
+ | 0010 = 2 (Decimal) | ||
− | + | ==4. Bitwise Complement (~)== | |
− | |||
− | |||
− | |||
+ | Operator ini adalah operator unary, dilambangkan dengan '~.' Ini mengembalikan representasi komplemen satu dari nilai input, yaitu, dengan semua bit terbalik, yang berarti membuat setiap 0 menjadi 1, dan setiap 1 menjadi 0. | ||
− | // Java program to illustrate | + | |
− | // bitwise operators | + | Contoh: |
+ | |||
+ | a = 5 = 0101 (Binary) | ||
+ | |||
+ | Operasi Bitwise Complement dari 5 | ||
+ | |||
+ | ~ 0101 | ||
+ | ________ | ||
+ | 1010 = 10 (decimal) | ||
+ | |||
+ | Catatan: Compiler akan memberikan 2’s complement dari sebuah angka, contoh 2’s complement dari 10 adalah -6. | ||
+ | |||
+ | // Java program to illustrate | ||
+ | // bitwise operators | ||
+ | |||
+ | public class operators { | ||
+ | public static void main(String[] args) | ||
+ | { | ||
+ | // Initial values | ||
+ | int a = 5; | ||
+ | int b = 7; | ||
+ | |||
+ | // bitwise and | ||
+ | // 0101 & 0111=0101 = 5 | ||
+ | System.out.println("a&b = " + (a & b)); | ||
+ | |||
+ | // bitwise or | ||
+ | // 0101 | 0111=0111 = 7 | ||
+ | System.out.println("a|b = " + (a | b)); | ||
+ | |||
+ | // bitwise xor | ||
+ | // 0101 ^ 0111=0010 = 2 | ||
+ | System.out.println("a^b = " + (a ^ b)); | ||
+ | |||
+ | // bitwise not | ||
+ | // ~0101=1010 | ||
+ | // will give 2's complement of 1010 = -6 | ||
+ | System.out.println("~a = " + ~a); | ||
− | + | // can also be combined with | |
− | + | // assignment operator to provide shorthand | |
− | + | // assignment | |
− | + | // a=a&b | |
− | + | a &= b; | |
− | + | System.out.println("a= " + a); | |
− | + | } | |
− | + | } | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | } | ||
Output | Output | ||
− | a&b = 5 | + | a&b = 5 |
− | a|b = 7 | + | a|b = 7 |
− | a^b = 2 | + | a^b = 2 |
− | ~a = -6 | + | ~a = -6 |
− | a= 5 | + | a= 5 |
− | Bit-Shift | + | |
+ | ==Operator Bit-Shift (Operator Shift)== | ||
− | + | Operator shift digunakan untuk menggeser bit angka ke kiri atau kanan, sehingga mengalikan atau membagi angka dengan dua, masing-masing. Mereka dapat digunakan ketika kita harus mengalikan atau membagi angka dengan dua. | |
− | + | Sintaks: | |
number shift_op number_of_places_to_shift; | number shift_op number_of_places_to_shift; | ||
− | |||
− | Shift | + | Tipe dari Operator Shift: |
− | + | Shift Operator dibagi menjadi 4 jenis, yaitu: | |
− | |||
− | |||
− | |||
− | |||
+ | Operator Signed Right shift (>>) | ||
+ | Operator Unsigned Right shift (>>>) | ||
+ | Operator Left shift | ||
+ | Operator Unsigned Left shift (<<<) | ||
==Referensi== | ==Referensi== | ||
* https://www.geeksforgeeks.org/bitwise-operators-in-java/ | * https://www.geeksforgeeks.org/bitwise-operators-in-java/ |
Latest revision as of 07:08, 7 May 2022
Operator merupakan blok bangunan dasar untuk bahasa pemrograman apa pun. Java juga menyediakan banyak jenis operator yang dapat digunakan sesuai dengan kebutuhan untuk melakukan berbagai perhitungan dan fungsi, baik itu logika, aritmatika, relasional, dll. Diklasifikasikan berdasarkan fungsionalitas yang disediakan. Berikut beberapa jenisnya:
- Operator Arithmetic
- Operator Unary
- Operator Assignment
- Operator Relational
- Operator Logical
- Operator Ternary
- Operator Bitwise
- Operator Shift
Artikel ini menjelaskan semua yang perlu diketahui tentang Operator Bitwise.
Operator Bitwise
Operator bitwise digunakan untuk melakukan manipulasi bit individu dari sebuah angka. Mereka dapat digunakan dengan semua tipe (char, short, int, dll.). Mereka digunakan saat melakukan pembaruan dan operasi query pada Binary indexed tree.
Mari kita lihat masing-masing operator bitwise di Java:
1. Bitwise OR (|)
Operator ini adalah operator biner, dilambangkan dengan '|'. Ini mengembalikan bit demi bit OR dari nilai input, yaitu, jika salah satu bit adalah 1, ia memberikan 1, selain itu menunjukkan 0.
Contoh:
a = 5 = 0101 (Binary) b = 7 = 0111 (Binary)
Bitwise OR Operasi 5 dan 7
0101 | 0111 ________ 0111 = 7 (decimal)
2. Bitwise AND (&)
Operator ini adalah operator biner, dilambangkan dengan '&.' Ini mengembalikan bit demi bit AND dari nilai input, yaitu jika kedua bit adalah 1, ia memberikan 1, jika tidak menunjukkan 0.
Contoh:
a = 5 = 0101 (Binary) b = 7 = 0111 (Binary)
Bitwise AND Operasi 5 dan 7
0101 & 0111 ________ 0101 = 5 (Decimal)
3. Bitwise XOR (^)
Operator ini adalah operator biner, dilambangkan dengan '^.' Ini mengembalikan bit demi bit XOR dari nilai input, yaitu, jika bit yang sesuai berbeda, memberikan 1, selain itu menunjukkan 0.
Contoh:
a = 5 = 0101 (Binary) b = 7 = 0111 (Binary)
Operasi XOR Bitwise 5 dan 7
0101 ^ 0111 ________ 0010 = 2 (Decimal)
4. Bitwise Complement (~)
Operator ini adalah operator unary, dilambangkan dengan '~.' Ini mengembalikan representasi komplemen satu dari nilai input, yaitu, dengan semua bit terbalik, yang berarti membuat setiap 0 menjadi 1, dan setiap 1 menjadi 0.
Contoh:
a = 5 = 0101 (Binary)
Operasi Bitwise Complement dari 5
~ 0101 ________ 1010 = 10 (decimal)
Catatan: Compiler akan memberikan 2’s complement dari sebuah angka, contoh 2’s complement dari 10 adalah -6.
// Java program to illustrate // bitwise operators public class operators { public static void main(String[] args) { // Initial values int a = 5; int b = 7; // bitwise and // 0101 & 0111=0101 = 5 System.out.println("a&b = " + (a & b)); // bitwise or // 0101 | 0111=0111 = 7 System.out.println("a|b = " + (a | b)); // bitwise xor // 0101 ^ 0111=0010 = 2 System.out.println("a^b = " + (a ^ b)); // bitwise not // ~0101=1010 // will give 2's complement of 1010 = -6 System.out.println("~a = " + ~a); // can also be combined with // assignment operator to provide shorthand // assignment // a=a&b a &= b; System.out.println("a= " + a); } }
Output
a&b = 5 a|b = 7 a^b = 2 ~a = -6 a= 5
Operator Bit-Shift (Operator Shift)
Operator shift digunakan untuk menggeser bit angka ke kiri atau kanan, sehingga mengalikan atau membagi angka dengan dua, masing-masing. Mereka dapat digunakan ketika kita harus mengalikan atau membagi angka dengan dua.
Sintaks:
number shift_op number_of_places_to_shift;
Tipe dari Operator Shift:
Shift Operator dibagi menjadi 4 jenis, yaitu:
Operator Signed Right shift (>>) Operator Unsigned Right shift (>>>) Operator Left shift Operator Unsigned Left shift (<<<)