มีฟังก์ชัน XOR ใน Java - a^b
สำหรับตัวอย่าง: 5^3 = 6
คุณบอกฉันได้ไหมว่าฟังก์ชันผกผัน ถ้าฉันมี6
และ3
ฉันจะได้รับช่วงของตัวเลขซึ่งรวมถึงตัวเลขได้5
หรือไม่?
มีฟังก์ชัน XOR ใน Java - a^b
สำหรับตัวอย่าง: 5^3 = 6
คุณบอกฉันได้ไหมว่าฟังก์ชันผกผัน ถ้าฉันมี6
และ3
ฉันจะได้รับช่วงของตัวเลขซึ่งรวมถึงตัวเลขได้5
หรือไม่?
คำตอบ:
ผกผันคือ XOR!
ถ้าคุณมี:
c = a^b;
คุณสามารถรับa
หรือb
คืนได้หากคุณมีค่าอื่นที่มีอยู่:
a = c^b; // or b^c (order is not important)
b = c^a; // or a^c
ตัวอย่างเช่นถ้าa = 5
, b = 3
(และc = 6
ตามที่คุณกล่าวถึง) คุณจะได้รับ:
b=0011 (3) a=0101 (5)
c=0110 (6) XOR or c=0110 (6) XOR
---------- ----------
a=0101 (5) b=0011 (3)
ค่าผกผันของ XOR คือ XOR .....