มีฟังก์ชัน 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 .....