Review Questions

1:Convert the following decimal values to binary:
  1. 3

  2. 13

  3. 59

  4. 119

2:Convert the following binary values to decimal, octal, and hexadecimal:
  1. 00010101

  2. 01010101

  3. 01001100

  4. 10011101

3:Evaluate the following expressions; assume each value is 8 bits:
  1. ~3

  2. 3 & 6

  3. 3 | 6

  4. 1 | 6

  5. 3 ^ 6

  6. 7 >> 1

  7. 7 << 2

4:Evaluate the following expressions; assume each value is 8 bits:
  1. ~0

  2. !0

  3. 2 & 4

  4. 2 && 4

  5. 2 | 4

  6. 2 || 4

  7. 5 << 3

5:Because the ASCII code uses only the final 7 bits, sometimes it is desirable to mask off the other bits. What's the appropriate mask in binary? In decimal? In octal? In hexadecimal?
6:In Listing 15.2, you can replace
while (bits-- > 0)
    {
        mask |= bitval;
        bitval <<= 1;
    }

with

while (bits-- > 0)
    {
        mask += bitval;
        bitval *= 2;
    }

and the program still works. Does this ...

Get C Primer Plus, Fourth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.