sphil79 February 2016
How to return 1 if the ASCII is uppercase
I have to return 1 if x is in between 0x41 and 0x5a (ascii for 'A' to 'Z'). Only bitwise operators are allowed (
+. Library functions like
isupper are not.
I'd appreciate any tips or help because I understand which ranges work, but I don't know how to manipulate it to return 1 with the given operators.
John Kugelman February 2016
Hint 1 - Subtraction can be accomplished by adding negative numbers.
Hint 2 - Negation can be done with bitwise operators:
-n == ~n+1.
Hint 3 - Right shifting a non-negative number by n is equivalent to dividing by 2n:
n>>1 == n/2,
n>>2 == n/4, etc.
Asked in February 2016
Viewed 2,373 times
Answered 1 times
Leave an answer
Quote of the day: live life