32 बिट int से डी-इंटरलीव बिट्स का सबसे प्रभावी तरीका क्या है? इस विशेष मामले के लिए, मैं केवल अजीब बिट्स के बारे में चिंतित हूं, हालांकि मुझे यकीन है कि दोनों सेटों के किसी भी समाधान को सामान्य बनाना सामान्य है।डी-इंटरलीव बिट्स (UnMortonizing?)
उदाहरण के लिए, मैं 0b01000101
को 0b1011
में परिवर्तित करना चाहता हूं। सबसे तेज़ तरीका क्या है?
संपादित करें:
इस आवेदन में, मैं गारंटी ले सकते हैं कि यहां तक कि बिट्स सब शून्य है। क्या मैं गति को सुधारने या अंतरिक्ष को कम करने के लिए उस तथ्य का लाभ उठा सकता हूं?
अच्छा। यह वास्तव में मेरी तरह की चीज है। – AShelly
यह मेरे पीसी पर 32 प्रविष्टि तालिका से तेज़ परीक्षण करता है। – AShelly
... और यदि आप नहीं जानते कि विषम बिट्स शून्य हैं, तो पहले से 'x & = 0x55555555' करें – Bergi