2010-11-18 11 views
6

जावा में दो युगल XOR कैसे करें?जावा में दो युगल XORING

सरल '^' युगल के लिए काम नहीं करता है ... क्या मुझे डबल से बाइनरी रूपांतरित करना होगा और इसे थोड़ा सा करना होगा? या कोई और तरीका है?

+2

करने के लिए एक अच्छा तरीका के बारे में सोच नहीं सकते यह, लेकिन मैं इस बारे में उत्सुक हूं कि आप इसे पहले स्थान पर क्यों करना चाहते हैं ... क्या आप मुझे प्रबुद्ध कर सकते हैं? – user507787

+0

चूंकि एक्सओआर थोड़ा सा ऑपरेटर है, इसलिए यह आमतौर पर केवल पूर्णांक पर लागू होता है। क्या आप वास्तव में बिटोर XOR युगल (जो _really_ अजीब परिणाम हो सकता है) का प्रयास करना चाहते हैं या आप बस इनट्स के साथ काम करना चाहते हैं? –

+0

मैं युगल की धारा के लिए एक संपीड़न एल्गोरिदम लागू कर रहा हूं, और एल्गोरिदम को लगातार दो संख्याओं को XORING की आवश्यकता होती है। –

उत्तर

14

आप इस बिटवाइज़ आप long अभ्यावेदन प्राप्त करने के लिए Double उपयोगिता कार्यों का उपयोग करने के लिए और फिर अंत में एक डबल करने के लिए वापस परिवर्तित की जरूरत है ऐसा करने के लिए इसका मतलब है:

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

यह काम करता है ... धन्यवाद। –

संबंधित मुद्दे