
Operator ^ (xor) di Java bukan untuk Membuat Pangkat!
Sebuah kekeliruan saya temukan ketika memeriksa kode program milik teman. Dia mengimplementasikan rumus berikut ke dalam kode java.
y = x2 + 3
Potongan kode program yang dia tulis.
int x = 3;int y = x^2 + 3;
Hasilnya pun 6
; tidak sesuai harapan. Seharusnya menghasilkan 12
.
Operator ^
(Exclusive Or), disingkat xor
, merupakan operator bitwise. Operator bitwise merupakan operator untuk memanipulasi bilangan biner.
Contoh konversi bilangan desimal ke biner (8bit):
0 = 0000 0000
1 = 0000 0001
2 = 0000 0010
3 = 0000 0011
4 = 0000 0100
5 = 0000 0101
6 = 0000 0110
7 = 0000 0111
8 = 0000 1000
9 = 0000 1001
10 = 0000 1010
Kita tinjau lagi perhitungan kode di atas:
y = x^2 + 3y = 3^2 + 3y = 6
Pada operasi 3^2
akan menghasilkan 1
(0000 0001
). Kemudian ditambah 3
akan menghasilkan 6
. Mengapa bisa menghasilkan 6
, bukannya 1 + 3 = 4
. Aneh ‘kan?
Operator bitwise xor akan menhasilkan bilangan biner. Oleh sebab itu, penjumlahan yang dilakukan pada operasi di atas adalah penjumlahan bilangan biner, bukan penjumlahan bilangan desimal. Jadi 1 + 3 = 6
itu sama dengan 00000001 + 00000011 = 000000110
.
Memahami operator ^ (xor)
Jadi, megnapa 3^2
menghasilkan 1
? Silahkan tinjau lagi pelajaran logika matematika (xor
).
a | b | a or b | a xor b |
---|---|---|---|
1 | 1 | 1 | 0 |
1 | 0 | 1 | 1 |
0 | 1 | 1 | 1 |
0 | 0 | 0 | 0 |
Sehingga,
3 = 0000 0011
2 = 0000 0010
————— ^ (xor)
3^2 = 0000 0001
Bagaimana membuat pangkat di Java?
Pangkat dapat dibuat dengan fungsi Math.pow()
. Fungsi ini memiliki dua parameter. Parameter pertama adalah bilangan yang akan dipangkatkan. Parameter kedua adalah bilangan pangkatnya. Contoh: 32.
Math.pow(3, 2);
Akan menghasilkan 9
.\
Kesimpulan
Operator bitwise ^ (xor) bukan operator untuk pemangkatan. Operator bitwise ^ (xor) digunakan untuk operasi bilangan biner.
Gimana? Sudah paham kan bagaimana penggunaan operator bitwise ^ (xor)? Yuk pelajari lebih lanjut pemrograman Java pada artikel-artikel berikut!
Baca juga: Menghitung Akar Kuadrat dan Akar Kubik dengan Java | Apa Fungsi String[] args pada Pemrograman Java? | Cara Membaca dan Menulis File di Java
Read More
Keamanan Data Digital untuk Bisnis Tanpa Kebocoran Data
Revalita 12/07/2025 0Di era serba digital, kebocoran data dapat terjadi kapan saja dan berdampak langsung pada reputasi serta kelangsungan bisnis. Informasi seperti data pelanggan, transaksi keuangan, hingga…
Google Veo 3 Tambahkan Fitur Image-to-Video
Revalita 12/07/2025 0Google kembali memperluas kapabilitas teknologi AI generatifnya dengan menambahkan fitur image-to-video generation pada Veo 3,…
AWS Hadirkan AI Agent Marketplace, Gandeng Anthropic
Revalita 12/07/2025 0Amazon Web Services (AWS) bersiap merilis AI Agent Marketplace pada 15 Juli mendatang di ajang…
OpenAI Siapkan Model Bahasa Open-Weight Mudahkan Modifikasi
Revalita 12/07/2025 0Persaingan di ranah pengembangan artificial intelligence semakin dinamis. Kali ini, OpenAI perusahaan di balik model…
Smartwatch Garmin Hadirkan Fitur Navigasi Google Maps
Revalita 12/07/2025 0Navigasi yang praktis adalah kebutuhan mendesak di era mobilitas tinggi. Pengguna smartwatch, terutama kalangan aktif…
Categories
- Business (158)
- Company Profile (3)
- Developer Connect (126)
- HR and L&D (23)
- Human Reasearch and Development (15)
- Landing Page (2)
- Marketing (31)
- Media Relations (72)
- News (45)
- Public Relations (48)
- Story (8)
- Technology (448)
- Tips and Trick (74)
- Toko Online (2)
- Uncategorized (27)
- Video & Tips (13)
- Wesclic (46)
Popular Tags