บิดไบนารีอธิบายโดยตัวเลขและถูกนำไปใช้เป็นจำนวนมากM Nสำหรับแต่ละบิตในการแทนค่าไบนารี่ของMถ้าบิตถูกตั้งค่า ( 1) บิตที่สอดคล้องกันในเอาต์พุตจะถูกกำหนดโดย XOR โดยสองบิตที่อยู่ติดกับบิตที่สอดคล้องกันในN(ล้อมรอบเมื่อจำเป็น) หากบิตไม่ได้ตั้งค่า ( 0) Nแล้วบิตที่สอดคล้องกันในการส่งออกจะได้รับจากบิตที่สอดคล้องกันใน
ตัวอย่างการทำงาน (ที่มีค่า 8 บิต):
- อนุญาต
N = 150,M = 59. respresentations ไบนารีของพวกเขา (ตามลำดับ) และ1001011000111011 - ขึ้นอยู่กับการ
Mเป็นตัวแทนไบนารีของบิต 0, 1, 3, 4 และ 5 มีการ convolved- ผลการบิต 0 จะได้รับโดย XORing บิต 1 และ 7 (เนื่องจากเราห่อรอบ)
1ยอม - ผลสำหรับบิต 1 จะได้รับโดย XORing บิต 0 และ 2
0ให้ผลผลิต - ผลสำหรับบิตที่ 2 จะได้รับจากบิตเดิม 2
1ยอม - ผลสำหรับบิต 3 จะได้รับโดย XORing บิต 2 และ 4
0ยอม - ผลสำหรับบิต 4 จะได้รับโดย XORing บิต 3 และ 5
0ยอม - ผลสำหรับบิต 5 จะได้รับโดย XORing บิต 4 และ 6
1ยอม - ผลบิตที่ 6 และ 7 จะได้รับจากบิตเดิมที่ 6 และ 7 ผลผลิตและ
01
- ผลการบิต 0 จะได้รับโดย XORing บิต 1 และ 7 (เนื่องจากเราห่อรอบ)
- ผลลัพธ์คือ
10100110(166)
ความท้าทาย
ได้รับNและMการส่งออกผลมาจากการดำเนินการบิดไบนารีอธิบายโดยเมื่อM Nอินพุตและเอาต์พุตอาจอยู่ในรูปแบบที่สะดวกสอดคล้องและไม่คลุมเครือ NและMจะอยู่ในช่วง (รวม) [0, 255](เลขจำนวนเต็ม 8 บิตที่ไม่ได้ลงชื่อ) และการแทนเลขฐานสองของพวกเขาควรจะเพิ่มเป็น 8 บิตสำหรับการดำเนินการแปลงแบบไบนารี
กรณีทดสอบ
150 59 -> 166
242 209 -> 178
1 17 -> 0
189 139 -> 181
215 104 -> 215
79 214 -> 25
190 207 -> 50
61 139 -> 180
140 110 -> 206
252 115 -> 143
83 76 -> 31
244 25 -> 245
24 124 -> 60
180 41 -> 181
105 239 -> 102
215 125 -> 198
49 183 -> 178
183 158 -> 181
158 55 -> 186
215 117 -> 198
255 12 -> 243