Question: This daily will allow you to practice more with the bit wise operators and shifts. Consider the following modification of the main program from daily


This daily will allow you to practice more with the bit wise operators and shifts. Consider the following modification of the main program from daily 4 void set_flag(unsigned int flag_holder[], int flag_position); void unset flag(unsigned int flag holder[], int flag_position); int check flag(unsigned int flag_holder[, int flag position); void display_32 flags_as_array(unsigned int flag holder); void display flags (unsigned int flag holder[], int size); int main(int argc, char* argv[]) unsigned int flag holder[5]-;//set the first integer to zero and all others to zero by default. set_flag(flag holder, 3); set flag(flag_holder, 16) set_flag(flag holder, 31); set flag(flag_holder, 87); display flags (Flag_holder, 5) printf("Inn") unset flag(flag holder, 31); unset flag (flag_holder, 3); set flag(flag holder, 99) set flag(flag holder, 100): display flags (Flag_holder, 5) return ; Here I have changed the functions so that they take an array of integers instead of just one integer. This allows me to imagine that I have a long array of bits instead of an array of integers. The functions can now set, unset, check and display flags for any bit in the array of 5 integers that I have made (and should work for any size array as long as your bit index is in bounds of your array). I also changed the display behavior. Daily 4 displayed the flags as you would see them in a number but since this program is moving away from the idea of a binary number to binary store bits and moving toward the idea of having an array of bits the display_32_flags_as_array function will display the [0] bit first then and so on up to 31 whereas the display-32-flags function in daily 4 displays the [31 ] bit first and down to [0] Similarly the display_flags function now takes an array of integers and displays one integer per line using the display_32_ flags_as array function. Your output should look exactly like the following
Step by Step Solution
There are 3 Steps involved in it
To achieve the desired functionality using bitwise operators and shifts you can implement the given functions to set unset check and display flags Bel... View full answer
Get step-by-step solutions from verified subject matter experts
