Skip to main content
\(\newcommand{\doubler}[1]{2#1} \newcommand{\binary}{\mathtt} \newcommand{\hex}{\mathtt} \newcommand{\octal}{\mathtt} \newcommand{\prog}{\mathtt} \newcommand{\lt}{<} \newcommand{\gt}{>} \newcommand{\amp}{&} \)

Section3.7Exercises

1

Use the “Decoder Ring” in Figure 3.6.2 to perform the following arithmetic. Indicate whether the result is “right” or “wrong”.

  1. Unsigned integers: \(\hex{1 + 3}\)

  2. Unsigned integers: \(\hex{3 + 4}\)

  3. Unsigned integers: \(\hex{5 + 6}\)

  4. Signed integers: \(\hex{(+1) + (+3)}\)

  5. Signed integers: \(\hex{(-3) - (+3)}\)

  6. Signed integers: \(\hex{(+3) - (+4)}\)

Hint Answer
2

Add the following pairs of 8-bit numbers (shown in hexadecimal) and indicate whether your result is “right” or “wrong.” First treat them as unsigned values, then as signed values (stored in two's complement format).

  1. \(\hex{55 + aa}\)

  2. \(\hex{55 + f0}\)

  3. \(\hex{80 + 7b}\)

  4. \(\hex{63 + 7b}\)

  5. \(\hex{0f + ff}\)

  6. \(\hex{80 + 80}\)

Hint Answer
3

Add the following pairs of 16-bit numbers (shown in hexadecimal) and indicate whether your result is “right” or “wrong.” First treat them as unsigned values, then as signed values (stored in two's complement format).

  1. \(\hex{1234 + edcc}\)

  2. \(\hex{1234 + fedc}\)

  3. \(\hex{8000 + 8000}\)

  4. \(\hex{0400 + ffff}\)

  5. \(\hex{07d0 + 782f}\)

  6. \(\hex{8000 + ffff}\)

Hint Answer