Инструменты пользователя

Инструменты сайта


examination:asm:question9

Вопрос №9. Машинное представление целых чисел, прямой, обратный и дополнительный коды. Примеры

Машинное представление чисел

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

Прямой код

Прямой код заключается в том, что старший бит двоичного числа становится знаковым, значение 0- соответствует положительному числу, значение 1- отрицательному. Например число 5 в двоичном виде представляется последовательностью 101, соответственно число +5 будет выглядеть как «00000101», а число -5 – «10000101», как можно увидеть, различаются только старшие биты.

Обратный код

Обратный код заключается в том, что положительное число инвертируется ( заменяются 0 и 1 на противоположные), а знаковый бит становится равным единице, таким образом число 5 будет выглядеть как «00000101», а число -5 будет «11111010», недостатком данного типа является то, что возникает лишнее числа, а именно положительный ноль и отрицательный («00000000» и «11111111»)

Дополнительный код

Самый популярный способ представления отрицательных целых чисел в компьютерах. Он позволяет заменить операцию вычитания на операцию сложения и сделать операции сложения и вычитания одинаковыми для знаковых и беззнаковых чисел, чем упрощает архитектуру ЭВМ. Дополнительный код получается Инвертированием положительного двоичного числа и прибавлением к нему единицы. Например число +5 «00000101», число -5 – «11111011», обратное инвертирование осуществляется аналогично.

examination/asm/question9.txt · Последние изменения: 2014/01/15 08:13 (внешнее изменение)