Преобразование десятичной дроби в дополнение к двум

Инструкции: Преобразуйте эти десятичные числа в 5-битную форму с 2-мя дополнениями, если это возможно. Если это невозможно, объясните, почему это так.

(16) основание 10

По данным онлайн-конвертера:

Из того, что я понимаю,

Если десятичная дробь положительна:

  • ШАГ 1: Преобразование величины в двоичную.
  • ШАГ 2: Pad 0 для желаемого размера.

Если десятичная дробь отрицательна:

  • ШАГ 1: Преобразование величины в двоичную.
  • ШАГ 2: Pad 0 для желаемого размера.
  • ШАГ 3: инвертировать биты для достижения 1-дополнения.
  • ШАГ 4: Добавьте 1 для достижения 2-х дополнений.

Поскольку 16 положительно, я просто преобразовал его в двоичный файл путем повторного деления, дающего (10000) основание 2.

Я больше не дополняю 0, поскольку он уже 5-битный (содержит 5 цифр).

Может кто-нибудь объяснить мне, почему онлайн-конвертер возвращает ошибку (что, я также верю, является правильным ответом)?

2 ответа

Решение

С 5 битами вы можете представить до 2^5 разных чисел, так как вы хотите, чтобы отрицательные и положительные числа находились в диапазоне от -16 до +15.

так что вы получите ошибку, поскольку 16 выходит за пределы диапазона 5 бит. Измените на 6 бит, и это должно работать

Вам нужно 6 бит для представления +16, так как значение 10000 представляет -16.

Лучший способ визуализации -
00000-0
00001-1
00010-2
....
01111-15
10000 - (-) 16
10001 - (-) 15
....
Попробуйте взять 2 дополнения 10000, вы должны получить значение 16 в двоичном

Другие вопросы по тегам