Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Отрицательные числа

Читайте также:
  1. Влияют на грамположительные и грамотрицательные микроорганизмы, в том числе риккетсии, микоплазмы, хламидии, ряд анаэробов и простейших.
  2. ВЫБОР СЕРИИ И ЧИСЛА СЕКЦИИ ЛОКОМОТИВОВ ДЛЯ ВЕДЕНИЯ ГРУЗОВОГО ПОЕЗДА ЗАДАННОГО ВЕСА
  3. Выбор флегмовога числа.
  4. Действительные числа
  5. Дисперсия числа появлений событий в независимых испытаниях.
  6. Завершение борьбы сыновей Владимира. Брячислав Полоцкий. Мстислав Тмутараканский. 1019 – 1026 гг.
  7. Зависимость аэродинамических коэффициентов от числа Маха
  8. Изменение числа пар полюсов статора.
  9. Интегралы вида где и - целые числа
  10. Какие факторы учитываются при определении числа компрессионных колец.

Двоичная арифметика

Двоичные числа

ASCII

Для целей стандартизации в микрокомпьютерах используется американский национальный стандартный код для обмена информацией ASCII (American National Standard Code for Information Interchange). Читается как «аски» код. Именно по этой причине комбинация бит 01000001 обозначает букву А.

Наличие стандартного кода облегчает обмен данными между раз­личными устройствами компьютера. 8-битовый расширенный ASCII-код, используемый в PC обеспечивает представление 256 символов, включая символы для национальных алфавитов.

Так как компьютер может различить только нулевое и единичное состояние бита, то он работает системе исчисления с базой 2 или в дво­ичной системе. Фактически бит унаследовал свое название от англий­ского «Binary digit» (двоичная цифра).

Сочетанием двоичных цифр (битов) можно представить любое значение. Значение двоичного числа определяется относительной пози­цией каждого бита и наличием единичных битов.

Самый правый бит имеет весовое значение 1, следующая цифра влево — 2, следующая — 4 и так далее. Общая сумма для восьми единич­ных битов в данном случае составит 1+2+4+...+ 128, или 255 (2 в восьмой степени — 1).

Для двоичного числа 01000001 единичные биты представляют зна­чения 1 и 64, то есть, 65. Но 01000001 представляет также букву А! Дейст­вительно, здесь момент, который необходимо четко уяснить. Биты 01000001 могут представлять как число 65, так и букву А:

+ если программа определяет элемент данных для

арифметических целей, то 01000001 представляет двоичное число эквивалентное десятичному числу 65; ^ если программа определяет элемент данных (один или

более смежных байт), имея в виду описательный характер, как, например, заголовок, тогда 01000001 представляет собой букву или «строку».

При программировании это различие становится понятным, так как назначение каждого элемента данных определено.

Двоичное число не ограничено только восемью битами. Процес­сор может использовать 16-битовую архитектуру, в этом случае он авто­матически оперирует с 16-битовыми числами. 2 в степени 16 минус 1 да- ет значение 65535, а немного творческого программирования позволит обрабатывать числа до 32 бит (2 в степени 32 минус 1 равно 4294967295) и даже больше.

Компьютер выполняет арифметические действия только в двоич­ном формате. Поэтому программист на языке Ассемблера должен быть знаком с двоичным форматом и двоичным сложением:

0 + 0 = 0
1+0 = 1

1 + 1 = 10

2 + 1 + 1 = 11

Все представленные выше двоичные числа имеют положительные значения, что обозначается нулевым значением самого левого (старше­го) разряда. Отрицательные двоичные числа содержат единичный бит в старшем разряде и выражаются двоичным дополнением. То сеть, для представления отрицательного двоичного числа необходимо инвертиро­вать все биты и прибавить 1.

Рассмотрим пример: Число 65: 01000001 Инверсия: 10111110 Плюс1: 10111111 (равно-65).

В случае, если прибавить единичные значения к числу 10111111, 65 не получится.

Фактически двоичное число считается отрицательным, если его старший бит равен 1. Для определения абсолютного значения отрица­тельного двоичного числа, необходимо повторить предыдущие опера­ции: инвертировать все биты и прибавить 1:

Двоичное значение: 10111111

Инверсия: 01000000

Плюс 1: 01000001 (равно +65).

Сумма +65 и -65 должна составить ноль:

01000001 (+65) + 10111111 (-65) = (1) 00000000

 

Все восемь бит имеют нулевое значение. Перенос единичного би­та влево потерян. Однако, если был перенос в знаковый разряд и из раз­рядной сетки, то результат является корректным.

Двоичное вычитание выполняется просто: инвертируется знак вычитаемого и складываются два числа. Вычтем, например, 42 из 65. Двоичное представление для 42 есть 00101010, и его двоичное дополне­ние: - 11010110:

6501000001 +(-42) 11010110 = 23(1)00010111

Результат 23 является корректным. В рассмотренном примере произошел перенос в знаковый разряд и из разрядной сетки.

В случае, если справедливость двоичного дополнения не сразу по­нятна, рассмотрим следующие задачи: Какое значение необходимо при­бавить к двоичному числу 00000001, чтобы получить число 00000000? В терминах десятичного исчисления ответом будет -1. Для двоичного рас­смотрим 11111111:

0000000111111111 Результат: (1) 00000000

Игнорируя перенос (1), можно видеть, что двоичное число 11111111 эквивалентно десятичному -1 и соответственно:

О 00000000 -(+1) -00000001-111111111

Можно видеть также каким образом двоичными числами представлены уменьшающиеся числа:

+300000011 +2 00000010 + 1 00000001 О 00000000 -1 11111111 -211111110 -311111101

Фактически нулевые биты в отрицательном двоичном числе опре­деляют его величину: рассмотрите позиционные значения нулевых битов как если это были единичные биты, сложите эти значения и прибавьте единицу.

 


<== предыдущая страница | следующая страница ==>
Биты и байты | Сегмент кодов

Дата добавления: 2014-03-11; просмотров: 460; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.