- Joined
- Nov 21, 2006
- Messages
- 31
- Reaction score
- 0
I need to find out the first occurence of bit '1' in a 64 bit number, starting from LSB, in shortest possible clock cycles. The result should be a number indicating the position of first occurence of bit '1'.
For eg. 0xA00C00000000000C
Here the first occurence of bit '1' starting from LSB is at bit position number 3. Hence the answer should be binary "100".
My approach: I thought of generating 2's complement of the given number and then simply ANDing the given number and its 2's complement, should give the correct position number.
Is there any other way of finding the same thing in just one clock cycle ?
:banghead:
For eg. 0xA00C00000000000C
Here the first occurence of bit '1' starting from LSB is at bit position number 3. Hence the answer should be binary "100".
My approach: I thought of generating 2's complement of the given number and then simply ANDing the given number and its 2's complement, should give the correct position number.
Is there any other way of finding the same thing in just one clock cycle ?
:banghead: