Подзабыл немного про перевод чисел с 10-ой системы в 2-ую.

системы

Собственно заинтересовал вопрос, надо перевести 10-ое число в двоичное, это не составляет труда.
А вот надо представить двоичное число в 16-ти разрядном формате со знаком.
Знак насолько помню это - 1 - знак минус, 0 - знак плюс. Куда его ставят?
Можно на примере каком нибудь показать? Скажем на числе 2774

Примечание:
Про дополнительный код я вспомнил.
Но тут закрался еще вопрос, скажем 2774 в двоичной системе:
101011010110
тут 12 разрядов. По заданию написано надо в 16 разрядов записать
0000 1010 1101 0110 думаю записать так.
Со знаком, это дополнительный разряд, где указывается, что число больше или меньше нуля. В нашем случае больше, значит записываем так:
0 0000 1010 1101 0110
или так
0 000 1010 1101 0110
? не пойму. Т.е. надо указатель знака запихивать в эти 16 разрядов или писать дополнительно?

Примечание:
Хм, ну скажем совпадение. С этим поспорить не могу.
НО, вот скажем как в нашем случае число перевели и число получилось 12-ти разрядное.
Значит добавили 4 нуля.
Или когда переводить надо будет, добавим эти дополнительные разряды и преобразуем в доп код? Там то 1-ца теоретически может быть

Примечание:
Такс, теперь на примере числа 33550
в двоичной
1000 0011 0000 1110
Тут число положительное, но число знака - 1 - т.е. указывает на отрицательность числа.
в книге толи отсеивают, толи не знаю чего делают. Его убрать чтоли?
Просто в книге написаны числа со знаками в виде
1 000 0011 0000 1110
т.е. самый левый разряд относят к знаку как понял. Если число выше 16-ти разрядного, то оно вроде как приравнивается к нулю.

Примечание:
Про дополнительный там сказано, так тчо его используют.
Ответы:
Вот смотри по ссылке более подробно
перевод отрицательных двоичных в 10-ую систему происходит так:
Есть разные способы записи отрицательных чисел. Кажется, самый распространённый - так называемый дополнительный код. Чтобы "приделать минус", надо прибавить к числу 1, а потом поменять все цифры на противоположные.
2774 = 0000101011010110
добавляем 1
0000101011010111
и меняем цифры
1111010100101000
Не надо никаких дополнительных битов.
И нет такого понятия, как разряд, отвечающий за знак. То есть по самому левому биту конечно знак определяется, но это так, совпадение.
Когда перевели в двоичную - сразу добавили нолики, чтобы стало 16 разрядов. Потом все остальные действия.
335500 в 16 бит не влезет (при использовании дополнительного кода получается диапазон -32768..32767). Переполнение и всё тут. Двоичным числом 1000 0011 0000 1110 кодируется 31984.
..ну то есть -31984.
А вообще надо бы уточнить, какой способ кодирования отрицательных чисел книга использует. А то вдруг не дополнительный код, а какой-то другой. Впрочем, переполнение всё равно будет.


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.