In this recitation assignment, will write a complete C program that will prompt the user to enter an ASCII printable character and then print out its decimal (base 10), hexadecimal (base 16) and all 8 binary digits of its binary (base 2) representation.
You may assume that the user enters a valid ASCII printable character when prompted. Examples of printable characters include A, B, C, #, $, &, +, 0, 1, 2, <, a, b, c, and so forth, and they typically range in decimal value from 33 to 126. You do not have to do any error checking for non-printable characters.
Although not required, you may find Chapter 2 on Bits, Bytes, and Data Types in the System Programming with C and Unix optional reference textbook by Adam Hoover to be helpful.
For this recitation assignment, complete the following tasks. You may receive guidance from your TA or fellow students.
1. Prompt the user to enter a printable ASCII character using printf and then read in the user's response using scanf, storing your character as an unsigned char.
2. For the decimal and hexadecimal bases, simply take advantage of the format specifiers in printf to print the decimal and hexadecimal representations. See man 3 printf or any of the reference or tutorial material provided on Canvas for help if you're having trouble with this.
3. Although there are several ways to accomplish printing out the binary representation, you are being asked to accomplish this functionality using bitwise operators as described below:
$ ./ a.out
Enter an ASCII character: A The ASCII value
of A is:
dec -- 65
hex -- 41
bin -- 01000001
$ ./ a.out
Enter an ASCII character: a The ASCII value
of a is:
dec -- 97
hex -- 61
bin -- 01100001