Ulf Magnusson <[email protected]> writes:
> Might as well do
>
> bool overflowbit(unsigned int a, unsigned int b) {
> const unsigned int sum = a + b;
> return (a ^ b) & ~(a ^ sum) & 0x80;
> }
>
> But still not very good output compared to other approaches as expected.
How about:
bool overflowbit2(unsigned int a, unsigned int b)
{
const unsigned int sum = a + b;
return ~(a ^ b) & sum & 0x80;
}
?
I thinnnnk it has the same results as your function...
[I just made a table of all 8 possibilities, and checked!]
-miles
--
Circus, n. A place where horses, ponies and elephants are permitted to see
men, women and children acting the fool.