The Six Bitwise Operators

Medium

Read three integers a, b, and n, then compute and print c = a & b, d = a | b, e = ~a, f = a >> n, g = a << n, and h = a ^ b, one per line in exactly this form: c = a & b = 8, d = a | b = 14, e = ~a = -13, f = a >> n = 3, g = a << n = 48, h = a ^ b = 6. Guard the shifts before computing anything: if a or b is negative print a and b must be non-negative; otherwise if n is below 0 or above 15 print n must be between 0 and 15; otherwise if a is greater than INT_MAX >> n, so that a << n would overflow, print a << n would overflow. Each of those returns 1 without printing any results. If the three integers cannot be read, print invalid input and return 1.

Success Criteria

Your code must pass 8 test case(s) to complete this exercise. 3 hint(s) are available if you need help.

Sign in to track your progress

You can work on exercises as a guest, but sign in to track your progress and save your submissions.

This platform is built by its community

Every lesson, project, and tool on HelloC++ is funded by sponsors. Join them and help shape what we build next.

Become a Patron

How did you find this exercise?

Your rating helps us improve the content.