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

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

Прямой, дополнительный и обратный коды

Прямой, дополнительный и обратный код числа (создан по запросу).

Далее идет калькулятор, который переводит введенное положительное или отрицательное целое число в двоичный код, а также выводит обратный код этого числа и его дополнительный код. Под калькулятором, как водится, немного теории.

Обновление: Из комментариев становится ясно, что люди не вполне понимают, что делает этот калькулятор. Точнее, что делал — применял алгоритм вычисления дополнительного кода к любому числу. Люди хотят, чтобы он им просто показывал дополнительный код числа. Ну хорошо — теперь при вводе положительного числа калькулятор показывает представление числа в двоичной форме, ибо для него нет обратного и дополнительного кода, а при вводе отрицательного показывает дополнительный и обратный код.

Прямой, дополнительный и обратный код

Число двоичных разрядов
Рассчитать
Представление положительного числа
Обратный код
Дополнительный код
 Ссылка  Сохранить  Виджет

Прямой код числа это представление беззнакового двоичного числа. Если речь идет о машинной арифметике, то как правило на представление числа отводится определенное ограниченное число разрядов. Диапазон чисел, который можно представить числом разрядов n равен

Обратный код числа, или дополнение до единицы (one’s complement) это инвертирование прямого кода (поэтому его еще называют инверсный код). То есть все нули заменяются на единицы, а единицы на нули.

Дополнительный код числа, или дополнение до двойки (two’s complement) это обратный код, к младшему значащему разряду которого прибавлена единица

А это все для удобной работы со знаками. Поскольку я все люблю понимать на примерах, рассказывать я тоже буду на примерах. Итак, предположим, что у нас 4 разряда для работы с двоичными числами. Представить таким образом можно 16 чисел — 0, 1, . 15
00 — 0000
.
15 — 1111

Но если нет знака, убогая получается арифметика. Нужно вводить знак. Чтобы никого не обидеть, половину диапазона отдадим положительным числам (8 чисел), половину — отрицательным (тоже 8 чисел). Ноль, что отличает машинную арифметику от обычной, мы отнесем в положительные числа (в обычной арифметике у нуля нет знака, если не ошибаюсь). Итого, в положительные числа попадают 0. 7, а в отрицательные -1, . -8.

Для различия положительных и отрицательных чисел выделяют старший разряд числа, который называется знаковым (sign bit)
0 в этом разряде говорит нам о том, что это положительное число, а 1 — отрицательное.

С положительными числами все вроде бы понятно, для их представления можно использовать прямой код
0 — 0000
1 — 0001
7 — 0111

А как представить отрицательные числа?

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

3 19 Прямой и дополнительный коды


прямой код 7 = 0111
обратный код 7 = 1000
дополнительный код 7 = 1001

Обратим внимание на то, что прямой код 1001 представляет число 9, которое отстоит от числа -7 ровно на 16, или .
Или, что тоже самое, дополнительный код числа «дополняет» прямой код до , т.е. 7+9=16

И это оказалось очень удобно для машинных вычислений — при таком представлении отрицательного числа операции сложения и вычитания можно реализовать одной схемой сложения, при этом очень легко определять переполнение результата (когда для представления получившегося числа не хватает разрядности)

Пара примеров
7-3=4
0111 прямой код 7
1101 дополнительный код 3
0100 результат сложения 4

-1+7=6
1111 дополнительный код 1
0111 прямой код 7
0110 результат сложения 6

Что касается переполнения — оно определяется по двум последним переносам, включая перенос за старший разряд. При этом если переносы 11 или 00, то переполнения не было, а если 01 или 10, то было. При этом, если переполнения не было, то выход за разряды можно игнорировать.

Примеры где показаны переносы и пятый разряд

00111 прямой код 7
00001 прямой код 1
01110 переносы
01000 результат 8 — переполнение

Два последних переноса 01 — переполнение

-7+7=0
00111 прямой код 7
01001 дополнительный код 7
11110 переносы
10000 результат 16 — но пятый разряд можно игнорировать, реальный результат 0

Два последних переноса 11 з перенос в пятый разряд можно отбросить, оставшийся результат, ноль, арифметически корректен.
Опять же проверять на переполнение можно простейшей операцией XOR двух бит переносов.

Вот благодаря таким удобным свойствам дополнительный код это самый распространенный способ представления отрицательных чисел в машинной арифметике.

P.S. Ну а обратный код дополняет число до , или до всех 1, потому и называется дополнением до 1. Им тоже можно представлять отрицательные числа, и реализовать вычитание и сложение схемой сложения, только сложение там хитрее — с циклическим переносом, ну и представить можно меньше на одно число, так как все единицы уже заняты — это обратный код нуля, эдакий «минус нуль», то есть диапазон получается, если брать наш пример от -7 до 7. Не так удобно, одним словом.

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

Для заполнения шестнадцатиразрядной ячейки памяти с дополнительным кодом десятичного числа -4249, мы должны сначала преобразовать это число в двоичную систему, а затем заполнить соответствующие ячейки памяти.

1. Преобразование числа -4249 в двоичную систему:
— Если число отрицательное, то его дополнительный код можно получить следующим образом:
— Преобразуем абсолютное значение числа в двоичную систему;
— Инвертируем все биты полученного двоичного числа;
— Добавляем единицу к полученному инвертированному числу.

Для преобразования абсолютного значения числа 4249 в двоичную систему, следуем следующим шагам:
— Делаем деление на 2 и записываем остатки до тех пор, пока не получим ноль.
— Последовательность остатков, прочитанная в обратном порядке, будет представлять число в двоичной системе.

Деление 4249 на 2:
4249 / 2 = 2124 (остаток 1)

Деление 2124 на 2:
2124 / 2 = 1062 (остаток 0)

Деление 1062 на 2:
1062 / 2 = 531 (остаток 0)

Деление 531 на 2:
531 / 2 = 265 (остаток 1)

Деление 265 на 2:
265 / 2 = 132 (остаток 1)

Деление 132 на 2:
132 / 2 = 66 (остаток 0)

Деление 66 на 2:
66 / 2 = 33 (остаток 0)

Деление 33 на 2:
33 / 2 = 16 (остаток 1)

Деление 16 на 2:
16 / 2 = 8 (остаток 0)

Деление 8 на 2:
8 / 2 = 4 (остаток 0)

Деление 4 на 2:
4 / 2 = 2 (остаток 0)

Деление 2 на 2:
2 / 2 = 1 (остаток 0)

Деление 1 на 2:
1 / 2 = 0 (остаток 1)

Получаем двоичное представление числа 4249: 1000010011001.

2. Инвертирование всех битов полученного двоичного числа:
Инвертируем каждый бит числа 1000010011001 для получения -1000010011001.

3. Добавление единицы к полученному инвертированному числу:
Добавляем единицу к числу -1000010011001 и получаем -10000100110010.

4. Заполнение шестнадцатиразрядной ячейки памяти:
В шестнадцатиразрядной ячейке памяти может быть записано число от 0 до 65535 в двоичной системе.
Число -4249 в дополнительном коде не вмещается в одну ячейку памяти, так как требуется более 16 битов для его записи.

Если в данной задаче используется 16-битная ячейка памяти, то для записи числа -4249 будет необходимо использовать две ячейки памяти.
Первая ячейка будет содержать более старшие разряды числа, а вторая ячейка будет содержать более младшие разряды числа.

Общий процесс заполнения двух ячеек памяти:
— Заполняем первую ячейку памяти более старшими разрядами числа -1000010011001.
— Заполняем вторую ячейку памяти более младшими разрядами числа -1000010011001.

Запись числа -1000010011001 в первую ячейку памяти:
Первая ячейка памяти будет содержать разряды с 1 до 8 (считая справа налево) числа -1000010011001.

Запись числа -1000010011001 во вторую ячейку памяти:
Вторая ячейка памяти будет содержать разряды с 9 до 16 (считая справа налево) числа -1000010011001.

Таким образом, число -4249 в дополнительном коде будет записано в двух ячейках памяти следующим образом:
Первая ячейка: -10000100
Вторая ячейка: -11001001

Обратите внимание, что в шестнадцатиразрядной ячейке памяти записано количество битов, равное шестнадцати.

Обратный и дополнительный код числа онлайн

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

Не будем загружать Вас информацией что это за кода. Такого материала валом на других ресурсах.

Что делаете Вы?

Вводите целое число ( отрицательное в том числе) или выражение.

Указываете разрядность ячейки памяти

Указываете в какой системе счисления необходимо получить результат.

Что делает бот?

Высчитывает выражение. Если выражение дробное, то отбрасывает дробную часть

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

Удобное и быстрое решение для ускорения работы.

Обратный и дополнительный код числа онлайн | 2015-09-23 07:36:32 | Варламов Дмитрий |

—> Расчет в любой системе счисления прямого, дополнительного и обратного кода, произвольного целого числа. | число, обратный, код, дополнительный, счисления

  • Русский и английский алфавит в одну строку
  • Часовая и минутная стрелка онлайн.Угол между ними.
  • Расчет пропорций и соотношений
  • Массовая доля химического вещества онлайн
  • Декoдировать текст u0xxx онлайн
  • Универсальный калькулятор комплексных чисел онлайн
  • Перемешать буквы в тексте онлайн
  • Частотный анализ текста онлайн
  • Поворот точек на произвольный угол онлайн
  • Обратный и дополнительный код числа онлайн
  • Остаток числа в степени по модулю
  • Площадь многоугольника по координатам онлайн
  • Как перевести градусы в минуты и секунды
  • Растворимость металлов в различных жидкостях
  • Расчет процентов онлайн
  • Поиск объекта по географическим координатам
  • DameWare Mini Control. Настройка.
  • Время восхода и захода Солнца и Луны для местности
  • Калькулятор географических координат
  • Расчет значения функции Эйлера
  • Произвольный треугольник по заданным параметрам
  • НОД двух многочленов. Greatest Common Factor (GCF)
  • Теория графов. Матрица смежности онлайн
  • Перевод числа в код Грея и обратно
  • Сообщество животных. Кто как называется?
  • Проекция точки на плоскость онлайн
  • Площадь пересечения окружностей на плоскости
  • Непрерывные, цепные дроби онлайн
  • Из показательной в алгебраическую. Подробно
  • Географические координаты любых городов мира
  • Онлайн определение эквивалентного сопротивления
  • Калькулятор онлайн расчета количества рабочих дней
  • Система комплексных линейных уравнений
  • Расчет понижающего конденсатора
  • Определение формулы касательной к окружности
  • Расчет заряда и разряда конденсатора через сопротивление
  • Месторождения золота и его спутники
  • Каноническое уравнение гиперболы по двум точкам
  • Дата выхода на работу из отпуска, декрета онлайн
  • Построить ненаправленный граф по матрице

Записать прямой, обратный и дополнительный коды следующих десятичных чисел, используя 8 -разрядную

Запишите дополнительный код десятичного числа 4249 4249 в шестнадцатиразрядной ячейке памяти0 0

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку «Пожаловаться» под ответом.

Отвечает Назарчук Льоша.

Ответ:

1652436 подпишись пожалуйста на менЯ

Запишите дополнительный код десятичного числа 4249 4249 в шестнадцатиразрядной ячейке памяти0 0

Отвечает Ефремова Екатерина.

Для записи прямого, обратного и дополнительного кодов десятичных чисел в 8-разрядной ячейке, давайте начнем с чисел 64₁₀ и -120₁₀:

  1. Прямой код (для положительных чисел):

Для числа 64₁₀: Преобразуем 64₁₀ в двоичную систему счисления:

Число 64₁₀ в прямом коде: 01000000

  1. Обратный код (только для отрицательных чисел):

Для числа -120₁₀: Преобразуем 120₁₀ в двоичную систему счисления:

Теперь инвертируем каждый бит:

Обратный код числа -120₁₀: 10000111

  1. Дополнительный код (только для отрицательных чисел):

Для числа -120₁₀: Чтобы получить дополнительный код, нужно взять обратный код числа и добавить 1:

Обратный код: 10000111 Дополнительный код: 10001000

Таким образом, прямой, обратный и дополнительный коды для чисел 64₁₀ и -120₁₀ в 8-разрядной ячейке записаны выше.

Запишите дополнительный код десятичного числа 4249 4249 в шестнадцатиразрядной ячейке памяти0 0

Дополнительный код. Арифметика в дополнительном коде

Сама ЭВМ обрабатывает информацию обычно в двоичном коде. Однако если нужно использовать числа со знаком, используется специальный дополнительный код, что упрощает аппаратные средства ЭВМ.

На рис. 2.6,а приведено обычное изображение регистра МП или ячейки памяти вне МП. Такой регистр представляют пространством из 8 бит данных.

Рис. 2.6. Изображение регистра МП или ячейки памяти:

а — расположение двоичных позиций; б — идентификация положительных чисел нулем в знаковом бите; в — идентификация отрицательных чисел единицей в знаковом бите

Таблица 2.10. Десятичные числа со знаком и их представление в дополнительном коде

десятичныеПредставление чисел со знакомПримечания
+127 +8 +7 +6 +5 +6 +3 + 2 +1 +0 -1 —2 —3 —4 —5 —6 -7 -8 — 1280111 1111 0000 1111 0000 0111 0000 0110 0000 0101 0000 0100 0000 0011 0000 0010 0000 0001 0000 0000 1111 1111 1111 1110 1111 1101 1111 1100 1111 1011 1111 1010 1111 1001 1111 1000 1111 1000 1000 0000Положительные числа представлены в той же форме, что и прямые двоичные числа Отрицательные числа представлены в форме дополнительного кода

Позиции бит пронумерованы от 7 до 0, а веса двоичных позиций указаны в основании регистра, бит 7 имеет вес 128, бит 6 — 64 и т. д.

На рис. 2.6, б и в показаны типовые структуры 8-разрядных регистров для размещения чисел со знаком. В обоих случаях бит 7 является знаковым. Он указывает, является ли число положительным (+) или отрицательным (—). При 0 в знаковом бите число положительно, при 1 — отрицательно.

Если, как показано на рис. 2.6,б, число положительно, оставшиеся ячейки памяти (6-0) содержат двоичное 7-разрядное число. Например, если регистр на рис. 2.6,б содержит 0100 0001, это соответствует числу +65 10 (64+1, знаковый бит положителен). Если в него записано 0111 1111, содержимым будет +12710 (знаковый бит положителен: 64+32+4+16+8+4-+2+1), что является наибольшим. Если, как это показано на рис. 2.6, в, регистр содержит то же число со знаком, но отрицательное, он будет содержать дополнительный код этого числа. В табл. 2.10 запись в дополнительном коде положительных и отрицательных чисел. Заметим, что все положительные числа имеют 0 в старшем бите, остальные биты составляют двоичное число. Все отрицательные числа имеют 1 в старшем разряде. Рассмотрим строку +0 в табл. 2.10: запись в дополнительном коде +0 будет 0000 0000. В ближайшей нижней строке видим, что запись в дополнительном коде — 1 следующая: 1111 1111. Рассмотрим пошаговое перемещение в обратном направлении от 0000 0000 до 1111 1111.

Какой будет запись в дополнительном коде числа —9? Рассмотрим этапы преобразования. Они следующие:

Десятичное число 9 Этап 1. Запись десятичного числа без знака (9)

Двоичное число 0000 1001 Этап 2. Преобразование десятичного числа в двоичный код (0000 1001)

Дополнение до 1 1111 0110 Этап 3. Получить обратный код двоичного числа заменой нулей единицами, а единиц —нулями (1111 0110) (обратный или ин версный код)

Дополнение до 2 +1 Этап 4. Прибавить единицу к обратному коду. Здесь прибавить -1 к 1111 0110, что дает

(дополнительный 11110111 11110111

Полученный результат является дополнительным кодом положительного десятичного числа. В приведенном примере дополнительным кодом числа 9 является 1111 0111. Заметим, что знаковый бит —1, это означает, что рассматриваемое число (1111 0111) отрицательно.

Каким будет десятичный эквивалент числа 1111 0000, записанного в форме дополнительного кода? Процедура преобразований в это случае следующая:

Дополнительный код 1111 0000 Этап 1. Запись дополнительного кода (1111 0000).

Дополнение до 1 0000 1111 Этап 2. Получается обратный код дополнительного кода заменой нулей единицами единиц нулями(0000 1111)

Двоичное число +1 Этап 3. Добавить 1 0001 0000=16

Таким образом, формирование обратного кода и добавление 1 являются теми же процедурами, которые мы проводили при преобразовании двоичного числа в дополнительный код. Однако следует отметить, что, хотя мы получили двоичное число 0001 0000= 1610, исходная запись дополнительного кода 1111 0000= -1610, т.е. имеем отрицательное число, поскольку старший бит в дополнительном коде является 1.

Упражнения

2.32. Когда числа со знаком помещаются в 8-разрядный регистр микропроцессора, старший (7-й) бит называется___ 2.33. Установить, являются ли следующие числа в дополнительном коде положительными или отрицательными:

а) 0111 0000; б) 1100 1111; в) 1000 1111; г) 0101 0101.

2.34. Используя табл. 2.10, дать дополнительный код следующих десятичных чисел со знаком: а) +1; б) -5; в) +127; г) -1; д) -2; е) -128.

2.35. Используя процедуру, приведенную в § 2.6, дать дополнительный код следующих десятичных чисел со знаком: а) —10; б) —21; в) —34; г) —96.

2.36. Расположение бит в дополнительном коде_______ (в ДДК, в двоичном коде) одинаково для положительных двоичных чисел.

2.37. Используя процедуру, приведенную в § 2.6, дать десятичные эквиваленты следующих чисел в дополнительном коде: а) 1111 1011; б) 0000 1111; в) 1000 1111; г) 0111 0111.

Решения

2.32. Знаковым. 2.33. а) 0111 0000 в дополнительном коде положительно, так. как знаковый бит — 0; б) 1100 1111 в дополнительном коде отрицательно, так как знаковый бит—1; в) 1000 1111 в дополнительном коде отрицательно, так как знаковый бит—1; г) 0101 0101 в дополнительном коде положительно, так как знаковый бит—Д 2.34. См. табл. 2.10: а) +1=0000 0001; б) +5=0000 0101; в) +127=0111 1111; г) —1 = 1111 1111; д) —5=1111 1110; е) —128 = 1000 0000. 2.35. В соответствии с рекомендациями § 2.6 имеем следующие результаты: а) этап 1 (преобразование десятичного числа в двоичный код): 1010= 0000 10102; этап 2 (получение обратного кода): 0000 1010-1111 0101; этап 3 (добавление 1): 1111 0101 + 1 = 1111 0110 (доп. код); б) этап 1: 2110=0001 01012; этап 2: 0001 0101-1110 1010; этап 3: 1110 1010+1 == 1110 1011 (доп. код); в) этап 1: 3410=0010 00102; этап 2: 0010 00102-1101 1101; этап 3: 1101 1101+1 = 1101 1110 (доп. код); г) этап 1: 9610=01100 00002; этап 2: 0110 00002-1001 1111; этап 3: 1001 1111+ 1 = 1010 0000 (доп. код). 2.36. В двоичном коде. 2.37. а) 1111 1011(доп. код) =— 510 б) 0000 1111 (доп. код) =+15; в) 1000 1111 (доп. код) = -113; г) 0111 0111 (доп. код)=+ 119

mydocx.ru — 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав — Пожаловаться на публикацию

Записать прямой, обратный и дополнительный коды следующих десятичных чисел, используя 8 -разрядную

Запишите дополнительный код десятичного числа 4249 4249 в шестнадцатиразрядной ячейке памяти0 0

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку «Пожаловаться» под ответом.

Отвечает Назарчук Льоша.

Ответ:

1652436 подпишись пожалуйста на менЯ

Запишите дополнительный код десятичного числа 4249 4249 в шестнадцатиразрядной ячейке памяти0 0

Отвечает Ефремова Екатерина.

Для записи прямого, обратного и дополнительного кодов десятичных чисел в 8-разрядной ячейке, давайте начнем с чисел 64₁₀ и -120₁₀:

  1. Прямой код (для положительных чисел):

Для числа 64₁₀: Преобразуем 64₁₀ в двоичную систему счисления:

Число 64₁₀ в прямом коде: 01000000

  1. Обратный код (только для отрицательных чисел):

Для числа -120₁₀: Преобразуем 120₁₀ в двоичную систему счисления:

Теперь инвертируем каждый бит:

Обратный код числа -120₁₀: 10000111

  1. Дополнительный код (только для отрицательных чисел):

Для числа -120₁₀: Чтобы получить дополнительный код, нужно взять обратный код числа и добавить 1:

Обратный код: 10000111 Дополнительный код: 10001000

Таким образом, прямой, обратный и дополнительный коды для чисел 64₁₀ и -120₁₀ в 8-разрядной ячейке записаны выше.

Запишите дополнительный код десятичного числа 4249 4249 в шестнадцатиразрядной ячейке памяти0 0

Оцените статью
TutShema
Добавить комментарий