Запишите числа в прямом, обратном и дополнительном коде

Условие:

1. Запишите числа в прямом, обратном и дополнительном коде (формат 1 байт): а) 31; б) -63; в) 65; г) -126. 2. Найдите десятичные представления чисел, записанных в дополнительном коде: а) 11111000; б) 10011011.

Условие: 1. Запишите числа в прямом, обратном и дополнительном коде (формат
1 байт):
 а) 31; б) -63; в) 65; г) -126.
2. Найдите десятичные представления чисел, записанных в
дополнительном коде:
 а) 11111000; б) 10011011.

Решение:

Предмет: Информатика

Раздел: Системы счисления и представление чисел в ЭВМ


Задача 1. Запишите числа в прямом, обратном и дополнительном коде (формат 1 байт).

Числа в формате 1 байт занимают 8 бит. Первый бит используется для знака:

  • 0 — положительное число;
  • 1 — отрицательное число.

а) (31):

  1. Прямой код:
    Для положительного числа прямой код совпадает с его двоичным представлением.
    (31{10} = 00011111{2}).

  2. Обратный код:
    Для положительного числа обратный код совпадает с прямым кодом.
    (00011111_{2}).

  3. Дополнительный код:
    Для положительного числа дополнительный код совпадает с прямым кодом.
    (00011111_{2}).


б) (-63):

  1. Прямой код:
    Для отрицательного числа прямой код записывается так:
    знак (1) + модуль числа в двоичном виде.
    (63{10} = 00111111{2}), поэтому прямой код:
    (10111111_{2}).

  2. Обратный код:
    Инвертируем все биты прямого кода после знакового.
    (10111111{2} \rightarrow 11000000{2}).

  3. Дополнительный код:
    К обратному коду прибавляем (1):
    (11000000{2} + 1 = 11000001{2}).


в) (65):

  1. Прямой код:
    (65{10} = 01000001{2}).

  2. Обратный код:
    Совпадает с прямым кодом для положительных чисел.
    (01000001_{2}).

  3. Дополнительный код:
    Совпадает с прямым кодом для положительных чисел.
    (01000001_{2}).


г) (-126):

  1. Прямой код:
    (126{10} = 01111110{2}), поэтому прямой код:
    (11111110_{2}).

  2. Обратный код:
    Инвертируем все биты прямого кода после знакового.
    (11111110{2} \rightarrow 10000001{2}).

  3. Дополнительный код:
    К обратному коду прибавляем (1):
    (10000001{2} + 1 = 10000010{2}).


Задача 2. Найдите десятичные представления чисел, записанных в дополнительном коде.

Число в дополнительном коде интерпретируется как:

  • Если старший бит (0), то число положительное;
  • Если старший бит (1), то число отрицательное, и его модуль определяется как (2^n - N), где (N) — значение числа в двоичной системе.

а) (11111000_{2}):

  1. Это отрицательное число (старший бит (1)).
  2. Найдем модуль числа:
    [ 2^8 - 11111000_{2} = 256 - 248 = 8. ]
  3. Ответ: (-8).

б) (10011011_{2}):

  1. Это отрицательное число (старший бит (1)).
  2. Найдем модуль числа:
    [ 2^8 - 10011011_{2} = 256 - 155 = 101. ]
  3. Ответ: (-101).

Задача 3. Запишите дополнительный код числа, интерпретируя его как восьмибитовое целое со знаком.

а) (43_{10}):

  1. (43{10} = 00101011{2}) (положительное число).
  2. Дополнительный код совпадает с прямым кодом:
    (00101011_{2}).

б) (-47_{10}):

  1. (47{10} = 00101111{2}).
  2. Прямой код: (10101111_{2}).
  3. Обратный код: (11010000_{2}).
  4. Дополнительный код: (11010000{2} + 1 = 11010001{2}).

в) (-102_{10}):

  1. (102{10} = 01100110{2}).
  2. Прямой код: (11100110_{2}).
  3. Обратный код: (10011001_{2}).
  4. Дополнительный код: (10011001{2} + 1 = 10011010{2}).

Ответы:

  1. а) (31): Прямой: (00011111{2}), Обратный: (00011111{2}), Дополнительный: (00011111{2}).
     б) (-63): Прямой: (10111111
    {2}), Обратный: (11000000{2}), Дополнительный: (11000001{2}).
    в) (65): Прямой: (01000001{2}), Обратный: (01000001{2}), Дополнительный: (01000001{2}).
     г) (-126): Прямой: (11111110
    {2}), Обратный: (10000001{2}), Дополнительный: (10000010{2}).

  2. а) (-8).
    б) (-101).

  3. а) (43): (00101011{2}).
     б) (-47): (11010001
    {2}).
    в) (-102): (10011010_{2}).

Не нашли нужного вам решения? Оставьте заявку и наши авторы быстро и качественно помогут вам с решением.
Оставить заявку
Работа вам нужна срочно. Не волнуйтесь, уложимся!

Заполните, пожалуйста, данные для автора:

  • 22423 авторов готовы помочь тебе.
  • 2402 онлайн