एक बाइनरी कन्वेंशन को एक संख्या द्वारा वर्णित किया जाता है M
, और एक संख्या पर लागू किया जाता है N
। प्रत्येक बिट के लिए बाइनरी प्रतिनिधित्व में M
, यदि बिट सेट है ( 1
), आउटपुट में संबंधित बिट को संबंधित बिट में समीपस्थ दो बिट्स XORing द्वारा दिया जाता है N
(आवश्यक होने पर चारों ओर लपेटकर)। यदि बिट सेट नहीं है ( 0
), तो आउटपुट में संबंधित बिट को संबंधित बिट द्वारा दिया जाता है N
।
काम किया उदाहरण (8-बिट मान के साथ):
- चलो
N = 150
,M = 59
। उनके द्विआधारी प्रस्तुतिकरण (क्रमशः)10010110
और हैं00111011
। M
द्विआधारी प्रतिनिधित्व के आधार पर , बिट्स 0, 1, 3, 4, और 5 को दोषी ठहराया जाता है।- बिट 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, उपज
0
और द्वारा दिए गए हैं1
।
- बिट 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