2013-09-23 3 views
0

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

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

Согласно онлайн-конвертер:

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

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

  • ШАГ 1: Преобразование ma gnitude к двоичному.
  • ШАГ 2: Pad 0 до нужной битрейта.

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

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

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

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

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

ответ

3

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

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

0

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

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

Смежные вопросы