I’m working on a programming exercise and need an explanation and answer to help me learn.
Lab 3 Directions
Write a C program to run on ocelot which will flip bits in a number entered by the user using the binary representation of the number. The user should input the original integer value between 1 and 10000 inclusive using a scanf. Use an unsigned integer type. Output is to the screen. You must use only bitwise operators for this program. You can shift bits and or use the logical bitwise operators.
For this assignment give the user directions asking them to enter the beginning integer. Then ask the user which bit to flip. That can be a number between 0 and 31 each referring to the values 20 to 231. Output the new decimal number. Then ask the user if they want to flip another bit. If they say yes, then ask them which bit to flip and output the result. Allow the user to keep choosing bits to flip until they enter a sentinel value to quit. Be sure to validate all user input so the program cannot be crashed.
You do not need to use getopt for this program since there are no command line arguments
Code should be nicely indented and commented.
Create a simple Makefile to compile your program into an executable called bitflip.
- If the user enters a 1 as the initial value and a 0 for the bit to flip the result would be 0.
- If the user enters a 2 for the bit to flip next the result would be 4.
- If the user enters a 2 for the bit to flip next the result would be 0.
- If the user enters a 0 for the bit to flip next the result would be 1.
- If the user enters a 1 for the bit to flip next the result would be 3.
- If the user enters a 2 for the bit to flip next the result would be 7.
Output should be easy to read.
Test the program using the previous commands.
Take a screenshot of the screen showing the output on ocelot.