diff --git a/labs/datalab/bits.c b/labs/datalab/bits.c index 46d1fbe..993be6c 100644 --- a/labs/datalab/bits.c +++ b/labs/datalab/bits.c @@ -202,7 +202,7 @@ int negate(int x) { */ int isAsciiDigit(int x) { x ^= 0x30; - return (!(x >> 4)) & ((~x >> 3) | ((~x >> 2) & (~x >> 1))); + return !((x | (x + 6)) >> 4); } /* * conditional - same as x ? y : z