Смекни!
smekni.com

Информатика и компьютерные науки (стр. 6 из 14)

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

Таблица сложения:

Слагаемое Слагаемое Сумма
0 0 0
0 1 1
1 0 1
1 1 10

Таблица умножения:

Множитель Множитель Произведение
0 0 0
0 1 0
1 0 0
1 1 1

Многоразрядные числа складываются, вычитаются, умножаются и делятся по тем же правилам, что и в десятичной системе счисления.

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

При переводе целой части получающиеся в процессе последовательного деления остатки представляют цифры целой части числа в новой системе счисления, записанные цифрами исходной системы счисления. Последний остаток является старшей цифрой переведенного числа.

При переводе дробной части числа целые части чисел, получающихся при умножении, не участвуют в последующих умножениях. Они представляют собой цифры дробной части исходного числа в новой системе счисления, изображенные числами старой системы. Значение первой целой части является первой цифрой после запятой переведенного числа.

Пример перевода числа 30,6 из десятичной системы в двоичную:

Перевод целой части Перевод дробной части

Последовательное Остатки Целые части - Последовательное

деление разряды пере- умножение

веденной дроби

0, 6

X

2

30 / 2 0 ──────┐ ───────────────────

15 / 2 1 ─────┐│ ┌──── 1, 2

7 / 2 1 ────┐││ │ X

3 / 2 1 ───┐│││ │ 2

1 / 2 1 ──┐││││ │ ───────────────────

0 │││││ │┌─── 0, 4

│││││ ││ X

│││││ ││ 2

│││││ ││ ───────────────────

│││││ ││┌── 0, 8

│││││ │││ X

│││││ │││ 2

│││││ │││ ───────────────────

│││││ │││┌─ 1, 6

│││││ ││││

Результат: 11110,1001

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

Пример перевода числа 111110,01 из двоичной системы в десятичную.

Перевод целой части Перевод дробной части

0, 0100

X

1010

111110 / 1010 ───────────────────

1010 110 ────────┐ ┌───── 10, 1000

1011 │ │ X

1010 │ │ 1010

10 ────────────┼┐ │ ───────────────────

││ │┌─── 101, 0000

││ ││

Результат: 62,25

Примечание 1 1010 - основание десятичной системы счисления в двоичной записи.

Примечание 2: десятичные эквиваленты разрядов искомого числа находим по таблице.

При переводе чисел из любой системы счисления в десятичную удобнее пользоваться непосредственно формулой (1):

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

При двоично-десятичной записи каждая цифра десятичного числа заменяется четырехзначным двоичным числом (тетрадой):

При записи чисел в кодах ASCII цифрам от 0 до 9 поставлены в соответствие восьмиразрядные двоичные коды от 00110000 до

00111001.

ЭВМ, предназначенные для обработки экономической информации, например IBM AT, позволяют производить арифметические операции в десятичной системе счисления над числами, представленными в двоично-десятичных кодах и кодах ASCII.

Шестнадцатеричная и восьмеричная системы счисления используются только программистами и операторами ЭВМ, так как представление чисел в этих системах более компактное, чем в двоичной, и перевод из этих систем в двоичную и обратно выполняется очень просто (основания этих систем представляют собой целую степень числа

Для перевода восьмеричного числа в двоичное достаточно каждый восьмеричный разряд представить тремя двоичными (триадой), а для перевода шестнадцатиричного числа - четырьмя (тетрадой):

Формы представления чисел в ЭВМ.

Разряд двоичного числа представляется в ЭВМ некоторым техническим устройством, например, триггером, двум различным состояниям которого приписываются значения 0 и 1. Группа таких устройств, предназначенная для представления в машине многоразрядного числа, называется регистром.

Структура двоичного регистра, представляющего в машине n-разрядное слово:

┌───┬───┬───┬───┬───┐

│n-1│n-2│...│ 1 │ 0 │

└───┴───┴───┴───┴───┘

Отдельные запоминающие элементы пронумерованы от 0 до n-1. Количество разрядов регистра определяет точность представления чисел. Путем соответствующего увеличения числа разрядов регистра может быть получена любая точность вычислений, однако это сопряжено с увеличением количества аппаратуры (в лучшем случае зависимость линейная, в худшем - квадратичная).

В ЭВМ применяются две основные формы представления чисел:

полулогарифмическая с плавающей запятой и естественная с фиксированным положением запятой.

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

Для кодирования знака числа используется старший ("знаковый") разряд.

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

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

.

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

Диапазон представления целых двоичных чисел со знаком в n-разрядной сетке:

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

В универсальных ЭВМ основным является представление чисел с плавающей запятой. Представление числа с плавающей запятой в общем случае имеет вид:

где

N - основание системы счисления,

p - целое число, называемое порядком числа A,

m - мантисса числа A (│m│<1).

Так как в ЭВМ применяется двоичная система счисления, то

причем порядок и мантисса представлены в двоичной форме.

Двоичное число называется нормализованным, если его мантисса удовлетворяет неравенству