Студопедия

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

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Двоичная система счисления.






В двоичной системе счисления основание 2: используется только два символа: 0, 1. Поэтому арифметика очень простая: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (0 и перенос в следующий разряд). Запись 11011, 101 некоторого двоичного числа соответствует следующему десятичному числу: 1·24+ 1·23+0·22+ 1·21+ 1·20, 1·2-1+0·2-2+1·2-3=27, 625.

Такое представление числа называется представлением с фиксированной запятой. Запятая фиксирована в соответствующей аппаратуре (арифметико-логическом устройстве АЛУ). Часто числа представлялись в виде дробей, поэтому как исходные данные, так и результаты решения задач должны были представляться именно так. Для этого проводили масштабирование – выбирали масштабные коэффициенты. Неправильный выбор масштабных коэффициентов мог вызвать так называемое переполнение разрядной сетки – ошибку в виде образования целой части, для которой в разрядной сетке нет места, и она теряется.

Рассмотрим, как выполняется двоичное суммирование:

Пусть необходимо сложить два двоичных числа 101 и 11:

Двоичное вычитание, например, (10-6 в десятичном коде) выглядит следующим образом:

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

При этом образуется перенос 1, который необходимо сложить с промежуточным результатом 0011:

таким образом, получаем ответ 0100 (10-6=4 в десятичном коде).

Для операций в обратном коде необходим специальный сумматор с так называемым циклическим переносом, обеспечивающим сложение переноса с промежуточным результатом. Это неудобно, поэтому применяют так называемый дополнительный код, который устраняет циклический перенос. Представим десятичное число –6 в двоичном дополнительном коде (то есть, заменяем операцию 10-6 на операцию 10+ (–6), числа здесь в десятичном коде): –6 десятичное это –0110 двоичное, в обратном коде 1001, да еще прибавляем единицу (таковы правила образования дополнительного кода):

таким образом, дополнительный двоичный код десятичного числа –6 равен 1 010. Здесь старший подчеркнутый разряд это знак, знаковый разряд. Тогда операция вычитания выглядит так:

перенос, возникающий в этом случае, просто отбрасывается, получаем 0100 (4 десятичное). Поэтому при аппаратной реализации вычитания может быть использован обычный сумматор.

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

Таблица 65

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

   
  + 1
  + 2
  + 3
  + 4
  + 5
  + 6
  + 7
  Не использ.
  - 7
  - 6
  - 5
  - 4
  - 3
  - 2
  - 1

 

Таким образом, в формате из четырех разрядов представимы числа в диапазоне –7+7 (23 -1).

При использовании байта с фиксированной запятой представляют целые числа в диапазоне –127+127 (27 –1).

В общем случае n бит могут кодировать 2n объектов.

Перевод чисел из десятичной в двоичную систему счисления выполняют, например, путем деления на основание системы счисления – 2, и записывают соответствующие остатки, либо подбирают соответствующие степени числа 2.

Пример. Дано десятичное число 38, ближайшая степень числа 2 – это число 32, т.е. 25, остается еще 6, ближайшая степень числа 2 – это 4, т.е. 22, остается 2, это 21. Таким образом:

0× 27+0× 26+1× 25+0× 24+0× 23+1× 22+1× 21+0× 20=100110.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.