2010-11-18 15 views
6

JAVA'da iki çift nasıl XOR yapılır?Java'da iki adet ikileme XORing

basit '^' çiftler için işe yaramıyor ... İkili bir ikili formata dönüştürmek zorunda mıyım ve bitsel mi yapmalıyım? ya da başka bir yolu var mı?

+2

yapmak için güzel bir yol düşünemiyorum Bu, ama bunu neden ilk başta yapmak isteyeceğinizi merak ediyorum ... beni aydınlatabilir misin? – user507787

+0

XOR bitsel bir operatör olduğundan, genellikle yalnızca tam sayılara uygulanır. XOR'un iki katına çıkmayı gerçekten denemek istiyor musunuz (ki bu da sonuçta garip sonuçlara yol açabilir) veya sadece ints ile çalışmak ister misiniz? –

+0

Çiftler akışı için bir sıkıştırma algoritması uyguluyorum ve bu algoritma iki ardışık sayıyı XORing gerektiriyor. –

cevap

14

Eğer long temsillerini almak için Double fayda fonksiyonlarını kullanabilir ve sonunda çift geri dönüştürmek için gereken bu bit usulü yapmak demek durumunda:

double c = Double.longBitsToDouble(
    Double.doubleToRawLongBits(a)^Double.doubleToRawLongBits(b)); 
+0

Bu işe yarıyor ... Teşekkürler. –

İlgili konular