Mail Archives: djgpp-workers/1998/11/17/08:25:17
On Tue, 17 Nov 1998, Laszlo Molnar wrote:
> Hi Workers!
>
> Just a small question:
>
> Let's say I have a 32-bit unsigned integer, and I want to clear it's
> most significant bit. I wrote this code:
>
> (x*2)/2
>
> And of course(?) it doesn't work. Is it a bug in gcc or a bug in me?
A bug in you :-) To get what you want, you should have written either
(x / 2) * 2
or (x >> 1) << 1
or x & (~ 0x1U)
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.
- Raw text -