मैं कम से कम महत्वपूर्ण बिट की स्थिति निर्धारित करने के लिए एक कुशल तरीके की तलाश कर रहा हूं जो कि पूर्णांक में सेट है, उदाहरण के लिए 0x0FF0 के लिए यह 4 होगा।
एक तुच्छ कार्यान्वयन यह है:
unsigned GetLowestBitPos(unsigned value)
{
assert(value != 0); // handled separately
unsigned pos = 0;
while (!(value & 1))
{
value >>= 1;
++pos;
}
return pos;
}
किसी भी विचार कैसे इसे से बाहर कुछ चक्र निचोड़ करने के लिए?
(नोट: यह प्रश्न ऐसे लोगों के लिए है, जो ऐसी चीजों का आनंद लेते हैं, न कि लोगों द्वारा मुझे बताने के लिए कि xyzoptimization बुराई है।)
[संपादित करें] विचारों के लिए सभी को धन्यवाद! मैंने कुछ और चीजें भी सीखी हैं। ठंडा!