Системы счисления. Представление чисел в ЭВМ

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

Существуют позиционные и непозиционные системы счисления.

В непозиционных системах для записи числа используется бесконечное множество символов. Примером непозиционной системы счисления может служить римская. Например, для записи числа один используется буква I, два и три выглядят как совокупности символов II, III, но для записи числа пять выбирается новый символ V, шесть - VI, десять - вводится символ X, сто - С, тысяча - М и т.д. Бесконечный ряд чисел потребует бесконечного числа символов для записи чисел. Кроме того, такой способ записи чисел приводит к очень сложным правилам арифметики.

Впозиционныхсистемах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы.

Сама же запись числа 757,7 означает сокращенную запись выражения

700 + 50 + 7 + 0,7 = 7•102 + 5•101 + 7•100 + 7•10-1 = 757,7.

Любая позиционная система счисления характеризуется своим основанием.

Основание позиционной системы счисления – это количество различных знаков или символов, используемых для изображения цифр в данной системе.

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

A(q) = an-1 qn-1 + an-2 qn-2+ ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,

где A(q) - запись числа в системе счисления с основанием q;

ai – цифры системы счисления;

n и m – число целых и дробных разрядов, соответственно.

Пример 1.

Системы счисления. Представление чисел в ЭВМ - student2.ru

Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:

· двоичная (используются цифры 0, 1);

· восьмеричная (используются цифры 0, 1, ..., 7);

· шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел - от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).

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

· для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток – нет тока, намагничен – не намагничен и т.п.), а не, например, с десятью, как в десятичной;

· представление информации посредством только двух состояний надежно и помехоустойчиво;

· возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;

· двоичная арифметика намного проще десятичной.

Недостаток двоичной системы – быстрый рост числа разрядов, необходимых для записи чисел.

Полезно запомнить запись в представленных системах счисления первых двух десятков целых чисел:

10 - я 2 - я 8 - я 16 - я 10 - я 2 - я 8 - я 16 - я
A
B
C
D
E
F

Перевод целых чисел из десятичной системы в любую другую позиционную систему счисления

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

Пример 2. Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:

Системы счисления. Представление чисел в ЭВМ - student2.ru

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

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

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

Числа в этих системах читаются почти так же легко, как десятичные, требуют соответственно в три (восьмеричная) и в четыре (шестнадцатеричная) раза меньше разрядов, чем в двоичной системе (ведь числа 8 и 16 – соответственно, третья и четвертая степени числа 2).

Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).

Пример 3.

Системы счисления. Представление чисел в ЭВМ - student2.ru

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

Пример 4.

Системы счисления. Представление чисел в ЭВМ - student2.ru

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

Пример 5. Перевести число 0,4710 из десятичной системы в двоичную, восьмеричную с точностью в пять разрядов.

Системы счисления. Представление чисел в ЭВМ - student2.ru Системы счисления. Представление чисел в ЭВМ - student2.ru Системы счисления. Представление чисел в ЭВМ - student2.ru Системы счисления. Представление чисел в ЭВМ - student2.ru 0 47 0 47

x 2 x8

0 94 376

x 2 x8

1 88 608

x 2 x8

1 76 064

x 2 x8

1 52 512

x 2 x8

1 04 096

0,4710 » 0,011112 0,4710 » 0,36058

Проверка: 0,011112 = 0*2-1+1*2-2+1*2-3+1*2-4 = 0,25 + 0,125 + 0,0625 + + 0,03125 = 0,46875;

0,36058 = 3*8-1 + 6*8-2 + 5*8-4 = 0,375 + 0,09375 + 0,0012 » 0,46997

Попутно заметим, что в десятичной системе счисления правильная дробь переводится в десятичную дробь в конечном виде только в том случае, если ее знаменатель в качестве множителей имеет только степени двоек и пятерок, т.е. дробь имеет вид Системы счисления. Представление чисел в ЭВМ - student2.ru .

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

Если ведутся приближенные вычисления, то последний разряд является сомнительным и для обеспечения в приближенных вычислениях одинаковой точности в двоичной и десятичной записях числа без бесконечных дробей достаточно взять число двоичных разрядов в 4 раза (log210 ≈ 3,3) больше, чем десятичных.

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

· естественная форма, или форма с фиксированной запятой (точкой) - ФЗ (ФТ);

· нормальная форма, или форма с плавающей запятой (точкой) - ПЗ (ПТ).

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

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

+03221,45610

+00000,00014.

-71202,40260.

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

Диапазон значащих чисел N в системе счисления с основанием Р при наличии m разрядов в целой части и s разрядов в дробной части числа (без учета знака числа) будет таким:

P-s£ N £ Pm - P-s.

Например, при Р=2, m = 10 и s = 6 числа изменяются в диапазоне
0,015 < N< 1024. Если в результате операции получится число, выходящее за допустимые пределы, произойдет переполнение разрядной сетки, и дальнейшие вычисления теряют смысл. В современных компьютерах естественная форма представления используется как вспомогательная и только для целых чисел.

В памяти ПК числа с фиксированной точкой хранятся в трех форматах:

а) полуслово - это обычно 16 бит, или 2 байта;

б) слово - 32 бита, или 4 байта;

в) двойное слово – 64 бита, или 8 байтов. Отрицательные числа с ФТ записываются в разрядную сетку в дополнительных кодах, которые образуются прибавлением единицы к младшему разряду обратного кода. Обратный код получается заменой единиц на нули, а нулей на единицы в прямом двоичном коде (подробнее см. § 2.2).

Плавающая запятая (точка). В форме представления с плавающей запятой (точкой) число изображается в виде двух групп цифр:

· мантисса;

· порядок.

При этом абсолютная величина мантиссы должна быть меньше 1, а порядок должен быть целым числом. В общем виде число в форме с плавающей запятой может быть представлено так:

N=±MxP±r,

где М - мантисса числа (|М| < 1);

r - порядок числа (целое число);

Р - основание системы счисления.

Например, приведенные ранее числа в нормальной форме запишутся следующим образом:

+0,322145610 х 10+4;

+0,14 х 10-3;

-0,7120240260 х 105.

Нормальная форма представления обеспечивает большой диапазон отображения чисел и является основной в современных компьютерах. Так, диапазон значащих чисел в системе счисления с основанием Р при наличии m разрядов у мантиссы и s разрядов у порядка (без учета знаковых разрядов порядка и мантиссы) будет:

Системы счисления. Представление чисел в ЭВМ - student2.ru

Например, при Р = 2, m = 22 и s = 10 диапазон чисел простирается примерно от 10-300 до 10300. Для сравнения: количество секунд, которые прошли с момента образования планет Солнечной системы, составляет около 1018.

Однако, например, число 4235,25 может быть записано в одном из видов:

4235,25 = 423,525· 101 = 42,3525· 102 = 4,23525· 103 = 0,423525· 104.

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

Нормализованным называют такое число, старший разряд мантиссы которого больше нуля (0,1 ≤ |M| < 1 для десятичной системы счисления).

Нормализованные, т. е. приведенные к правильной дроби, числа:

24,26110= 0,2426110 х 10+2;

0,000077418=0,77418 х 8-4;

5A8,2B16=0,5A82B16 x 16+3;

В памяти ПК числа с ПТ хранятся в двух форматах:

· слово - 32 бита, или 4 байта;

· двойное слово - 64 бита, или 8 байт.

Разрядная сетка для чисел с ПТ имеет следующую структуру (рис. 2.1):

· нулевой разряд - это знак числа (0 - для положительных, 1 - для отрицательных чисел);

· с 1 по 7 разряд записывается порядок в прямом двоичном коде, пустые разряды заполняются нулями. В первом разряде указывается знак порядка (0 - «плюс» или 1 - «минус»);

· с 8 по 31 (63) указывается мантисса, слева направо без нуля целых в прямом двоичном коде и для отрицательных чисел и пустые разряды заполняются нулями.

Рассмотрим на примере, как записывается некоторое число в нормализованном виде в четырехбайтовом формате с семью разрядами для записи порядка (рис. 2.1).

Системы счисления. Представление чисел в ЭВМ - student2.ru

Рис. 2.1. Запись числа в нормализованном виде в четырехбайтовом формате с семью разрядами для записи порядка

Наши рекомендации