суббота, 9 февраля 2013 г.

прямоя обратный код

При программировании цикла с перебором всех чисел от -3 до 3 мы будем двигаться как показывает стрелка: сначала от 0 до 3, затем переходим на -3 и двигаемся от -3 до 0. При этом проблема двойногоP нуля исчезает.

За «0» мы взяли 000, за «1» 001, а за «-1» «111», за «-2» «110», за «-3» — «101» и далее — по убывающей.

Положительные числа в прямом и дополнительном коде совпадают. А вот построение отрицательных чисел отливается.

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

Двойной ноль (+0 и -0) нужно как-то учитывать при написании программы, иначе будут ошибки. Для того, чтобы избежать проблемы двойного нуля, люди придумали .

Если мы запишем в прямом коде несколько положительных и отрицательных чисел подряд, (например от -3 до 3) то Pполучим следующую картину.

В качестве знака минус в прямом коде стоит «1»,P а если число положительное, то оно начинается с «0». С одной стороны, это очень удобная и понятная запись числа. С другой стороны, при программировании циклов в ассемблере вылезает одна неприятная вещь, а именно двойной ноль. Откуда он берется?

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

А это десятичное число -3 в прямом коде.

Это десятичное число 3 в прямом коде.

10111010 — это бинарное отрицательное число

Прямой код бинарного числа это его представление как есть, без изменений. Но если у нас отрицательное число, как его можно представить в прямом коде? Все очень просто! Представим число 7-ю нулями и единицами, а восьмой бит (старший) отводим под знак. Получаем такую картину:

00111010 — это бинарное положительное число

Под бинарным числом я подразумеваю 8 разрядное слово, состоящее из 0 и 1. Такие числа часто используются в микропроцессорах -P в них закодированы обычные десятичные числа, а также символы и команды.

Всем привет! В этой статье я расскажу простыми словами о том, что такоеP прямой и дополнительный коды бинарного числа. А также объясню, как в двоичной системе представлены отрицательные числа. И, самое главное как можно применить на практике прямой и дополнительный коды числа. Еще мы немного поговорим о циклах в ассемблере.

автор | 14 Февраль, 2012

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

      Поиск по блогу

блог о путешествиях Цуриковой Елены

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

Комментариев нет:

Отправить комментарий