Menukar Nilai Dua Variabel Tanpa Variabel Ke-3
Demi Optimasi, kekekkekeke… Kalo biasanya kita nulis subtitusi variabel dengan variabel ke-3 kayak gini:
void swap(int a, int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
Bisa kita sederhanakan jadi menggunakan dua variabel az, kayak gini:
void swap(int a, int b)
{
a = a + b;
b = a - b;
a = a - b;
}
Dan berikut cara yang lebih teroptimasi, karen menggunakan operator xor terhadap bit:
void swap(int a, int b)
{
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
Gampang kan… v^^

mampush gue, gak ngerti abis !
frozen_x reply: *GUBRAG* masa sih, itu kan cuma tambah-tambahan. -.-a
XOR buat tambah-tambahan… kelihatannya memang bisa sih, tapi carry-nya gimana?
tapi kalau dalam konteks penukaran bilangan sih memang mungkin, yah.
memang sih, pada dasarnya selama nilai salah satu dari a (atau b) dipertahankan pada satu waktu, maka nilai yang lain bisa dikembalikan dengan sifat dari operator XOR…
~nice
~lho kok jadi panjang ya?
Frozen X: xor untuk tambah-tambahan? . . . belum tau bisa apa ga’. kekekekke…
lho, tadi bukannya…
AFAIK, memang nggak bisa sih.
Frozen X reply: gyahahaha… kalimat itu tuh maksudnya excluding yang xor. xixixixi…
saya mau pingsan saja deh *gak ngartiiii*
–sensor–
maaf, selain pemilik blog, dilarang promosi apalagi jualan di sini!
owhh.. begitu yak @_@
wah, suka coding jg yahh..
salam kenal juga..
makasih dah singgah..