यहाँ VBA का उपयोग किए बिना एक समाधान है:
=TEXT(SUMPRODUCT(MOD(INT(MID(A1,{1,2,3,4,5,6,7},1))+INT(MID(A2,{1,2,3,4,5,6,7},1)),2),{1000000,100000,10000,1000,100,10,1}),"0000000")
यह बिटवाइज़ XOR
यह बिट्स की एक स्ट्रिंग में बदलने के लिए SUMPRODUCT
और TEXT
का उपयोग कर की गणना करता है।
नोट: इस सूत्र दोनों इनपुट मानों की आवश्यकता लंबाई 7 (अपने स्वयं के उदाहरण के अनुसार) है और उत्पादन भी लंबाई 7. होगा विभिन्न इनपुट लंबाई के लिए अनुमति देने के लिए, बस आवश्यक काट-छांट और/या गद्दी को लागू ।
आप कुछ आशुलिपि परिभाषाओं का उपयोग करने के लिए चुन सकते हैं:
- परिभाषित
BitPositions
={1,2,3,4,5,6,7}
के रूप में (7-बिट),
- परिभाषित
BitStrings
रूप ={1000000,100000,10000,1000,100,10,1}
(7-बिट),
- परिभाषित
BitFormat
="0000000"
(7-बिट),
फिर अपने सूत्र में थोड़ा और अधिक सुपाठ्य बनाया जा सकता है/छोटी/क्लीनर:
=TEXT(SUMPRODUCT(MOD(INT(MID(A1,BitPositions,1))+INT(MID(A2,BitPositions,1)),2),BitStrings),BitFormat)
यह भी आसान बिट्स की बड़ी तार, जैसे के साथ काम करने में आता है:
=ROW(INDIRECT("1:32"))
के रूप में परिभाषित BitPositions
(32-बिट),
- परिभाषित
BitStrings
=10^(32-ROW(INDIRECT("1:32")))
के रूप में (32-बिट),
BitFormat
=REPT("0",32)
के रूप में (32-बिट को परिभाषित)
क्या आप NOT
/OR
/AND
/आदि लागू करना चाहते हैं। तो आप इन formulas for the decimal counterparts से अपनी प्रेरणा प्राप्त कर सकते हैं; XOR
SUMPRODUCT
के साथ यहां भी दशमलव इनपुट का उपयोग करता है।
धन्यवाद! अन्य उपयोगकर्ताओं के लिए, DEC2BIN का उपयोग करने के लिए टूल्स -> Addins -> विश्लेषण टूलपैक पर जाएं। वीबीए करने के लिए टूल्स -> मैक्रोज़ -> विजुअल बेसिक एडिटर –
दिन में थोड़ा देर हो चुकी है, लेकिन संदर्भ के लिए, वीबीए के बिटवाई ऑपरेटर गैर-अभिन्न प्रकारों को भी संभाल सकते हैं (परिणाम की व्याख्या करें) –