=====BACKGROUND===== ====BINARY NUMBERS==== Binary is a coding system that uses a combination of 0s and 1s in order to both simulate and create mathematical algorithms. The system uses 4 bits of any combination of 0 and 1 to simulate one of 256 values, ranging from 0 to 255. Each 0 correlates to a lack of value, while each one correlates to unit holding a value of a power of 2. For example, a 1 in the unit's place (i.e. 0001) is equal to a value of 2 to the power of, meaning 1. A 1 in the ten's place (i.e. 0010) is equal to 2 to the power of 1, meaning 2. A 1 in the hundred's place (i.e. 0100) equals 2 to the power of 2, meaning 4. A 1 in the thousand's place (i.e. 1000) is equal to 2 to the power of 3, meaning 8. Higher numbers are made by combining ones and zeroes in a way that the different values are added up to create a number between 0 and 255. For example, 1011 can be interpreted as 2^3 + 0 + 2^1 + 2^0, or 8 + 0 + 2 + 1, which means 1011 is the same as eleven. ====HEXADECIMAL NUMBERS==== Hexadecimal, aka base 16, is a way to represent numbers as a combination of 16 numbers and symbols. This allows us to describe numbers with many digits in a more concise and convenient way than base 2. In hexadecimal 1=1, 2=2, 3=3, 4=4, 5=5, 6=6, 7=7, 8=8, 9=9, A=10, B=11, C=12, D=13, E=14, and F=16. Hexadecimal numbers are proceeded by "0x" followed by a combination of the aforementioned numbers and letters. For example, if we wanted to represent the number 2024 in hex, we would write 0x7E8, which is equivalent to writing 7(16^2)+14(16^1)+8(16^0). We essentially multiply each letter or symbol value by 16 raised to the power of it's place. If we had a longer number, like 0xA61E, we could express this as 10(16^3)+6(16^2)+1(16^1)+14(16^0). =====DATA TYPES IN C===== ========COMPILE CODE========= When in lab 46, you can compile by simply using "make" ====PRINTF FORMAT SPECIFIERS==== =====PROGRAM SPECIFICATIONS===== =====Submit=====