Знак величины и два комплимента - PullRequest
0 голосов
/ 08 апреля 2020

Я выполняю задание и застрял, может ли кто-нибудь помочь, пожалуйста?

Управление CIPOL, исследовательской лаборатории, расположенной вокруг Те shie, приобрело новый компьютер, чтобы помочь анализ образцов крови, взятых из подозреваемых случаев COVID-19. После тестирования компьютера технические специалисты поняли, что он может обрабатывать только данные, введенные в него, в виде величины знака. Тем не менее, все оборудование в CIPOL работает в 2-х комплектной среде. В настоящее время нет интерфейса, связывающего старые системы и новый компьютер. Как руководитель технической группы, вы были приглашены к краткому руководству по имеющейся проблеме. Вы должны:

Критически объяснить проблему, с которой столкнулась ваша команда в связи с новыми и старыми компьютерами, и предложить решение для нее.

Это мой ответ на вопрос, который я Я не уверен, прав ли я:

Величина знака - это способ, которым компьютер хранит отрицательные числа. Есть два других способа: комплимент от 1 до 2. Новый компьютер, который представляет данные в знак-магнитуде, будет отлично работать на старых системах.

1 Ответ

2 голосов
/ 09 апреля 2020

Новый компьютер не будет работать без проблем со старой системой.

1. Двоичное представление со знаком и величиной

Величина знака использует первый бит для обозначения знака числа. Так, например:

  • 000 равно 0.
  • 001 равно 1, первый 0 является знаком +.
  • 101 равно -1, первым 1 является знак -.

2. Двоичное представление из двух дополнений

Это представление переворачивает биты числа и добавляет единицу для представления отрицательного аналога:

  • 000 равно 0.
  • 001 также равно 1.
  • 111 равно -1. В основном переворачивайте каждый бит 001 и добавляйте к нему 1.

3. Решение

Полагаю, вы захотите преобразовать из подписанного представления в 1045 * с двумя дополнениями, поскольку все остальное в лабораторной работе уже использует подписанное представление.

  • Положительные числа
    • Не нужно менять.
  • Отрицательные числа
    • То есть, если первый бит 1:
      1. Заменить первый бит на 0.
      2. Перевернуть все биты (это простой логический оператор NOT).
      3. Добавить 1 к новому номеру.
    • Пример с 1011 или -3 в подписанном представлении с 4 битами:
      1. Заменить первый бит на 00011
      2. Flip все биты → 1100
      3. Добавить 1 к новому номеру → 1101

4. Дальнейшее чтение

Существует множество учебных пособий, видео и статей по этой теме c. Если вы хотите узнать больше:

...