??? 02/07/06 19:41 Read: times |
#109436 - Right Filling n x Rightmost Bits with 1' |
Hi all
A question to draw on the experience of those here. The language is C, I would like to fill n x Bits on the righthand side of my 16 bit variable 'Mask' with least amount of code possible for instance I have a variable 'Mask' that currently holds a value of 0101 0101 0101 0000 I want to fill the righthand 4 bits with 1's so the result is. 0101 0101 0101 1111 I am free to bit shift the Mask in any way in order to achieve this result. Here is what I have currently. 25Bytes Mask |= 2^RightMostBits -1; 33Bytes Mask |= 0xFFFF>>(16-RightMostBits); 33Bytes for i = 0; i<RightMostBits i++){ temp = 0x01 << i; Mask |= temp; } Any other suggestions appreciated Regards Marshall |
Topic | Author | Date |
Right Filling n x Rightmost Bits with 1' | 01/01/70 00:00 | |
wrong approach | 01/01/70 00:00 | |
Wrong Approach ? | 01/01/70 00:00 | |
why not just |= bits_to_be_added | 01/01/70 00:00 | |
|= bits_to_be_added | 01/01/70 00:00 | |
ah | 01/01/70 00:00 | |
bang on | 01/01/70 00:00 | |
Try an Array | 01/01/70 00:00 | |
|= 2^RightMostBits -1; // sure? | 01/01/70 00:00 | |
You are correct about ^ != pow() | 01/01/70 00:00 | |
If only | 01/01/70 00:00 | |
About 25 bytes with SDCC | 01/01/70 00:00 | |
Thankyou | 01/01/70 00:00 | |
Why not use a table? | 01/01/70 00:00 | |
codesize | 01/01/70 00:00 | |
Yes, But..![]() | 01/01/70 00:00 |