Для выполнения этого задания потребуются некоторые сведения из теории и определения:
Системы счисления. Человек привык считать предметы десятками, сотнями: десять единиц образуют десяток, десять десятков — сотню, десять сотен — тысячу и т. д. Это — десятичная система счисления, которая не является единственно возможной (известна, например, двенадцатеричная система счисления).
Система счисления — способ именования и изображения чисел с помощью символов, имеющих определенные количественные значения. В зависимости от способа изображения чисел системы счисления делятся на:
• непозиционные;
• позиционные.
Непозиционные системы счисления. В такой системе цифры не меняют своего количественного значения при изменении их расположения в числе.
Самый простой и очевидный пример — система счисления, где количество обозначается I (палочкой/единицей):
1 = I;
2 = I;
5 = IIIII;
10= IIIIIIIIII.
Пусть далее следующие символы (цифры в гипотетической системе счисления) соответствуют числам (в десятичной системе счисления):
Н - 1;
Л - 6;
Е - 12
* - 24;
Щ - 60;
S - 365,
и пусть есть правило, по которому число можно записать любой комбинацией таких символов, чтобы сумма обозначаемых ими чисел была равна заданному числу.
Тогда 444 можно записать по крайней мере двумя способами: SЩЕЛН (365 + 60+12 + 6+1); ЛНSЩЕ (6 + 1 + 365 + 60 + 12), т. е. SЩЕЛН = ЛНSЩЕ
Такая система счисления является непозиционной, так как цифры не меняют своего количественного значения при изменении их расположения в числе.
Позиционные системы счисления. В этом случае количественное значение каждой цифры зависит от ее места (позиции) в числе.
Десятичная система счисления является позиционной, так как значение каждой цифры зависит от ее места (позиции) в числе.
Например,
23 = 2 х 10 + 3;
32 = 3 х 10 + 2
и 23 не равно 32
Римская система счисления является смешанной, так как значение каждой цифры частично зависит от ее места (позиции) в числе. Так, в числах
VII
VI
IV
V обозначает 5, а I обозначает I. Но, с другой стороны, важно, как цифры расположены относительно друг друга:
VII = 5+1 + 1=7;
VI = 5+1=6; IV=5- 1=4.
Наиболее естественный способ представления числа в компьютерной системе заключается в использовании строки битов, называемой двоичным числом — числом в двоичной системе счисления (символ также может быть представлен строкой битов, или символа).
Основание позиционной системы счисления — количество (Р) различных цифр, используемых для изображения числа в позиционной системе счисления. Значения цифр лежат в пределах от 0 до Р-1.
В общем случае запись любого числа N в системе счисления с основанием Р будет представлять собой ряд (многочлен) вида: (1.1)
Нижние индексы определяют местоположение цифры в числе (разряд):
• положительные значения индексов — для целой части числа (т разрядов);
• отрицательные значения — для дробной (s разрядов). Максимальное целое число, которое может быть представлено в т разрядах:
Nmax = Рт - 1
Минимальное значащее, не равное 0 число, которое можно записать в s разрядах дробной части:
Nmin = Ps
Имея в целой части числа т разрядов, а в дробной — s, можно записать Pm+s разных чисел
Двоичная система счисления (основание Р=2) использует для представления информации две цифры — 0 и 1.
Существуют простые правила перевода чисел из одной системы счисления в другую, основанные, в том числе, и на выражении (1.1).
Например, двоичное число 101110,101 равно десятичному числу 46,625:
101110,1012= 1 х25 + 0х24+ 1 х23+ 1 х22+ 1 х2' + 0х2° +1 х 2-1 + 0 х 2-2 + 1 х 2-3 = 46,62510.
Практически перевод из двоичной системы в десятичную можно легко выполнить, надписав над каждым разрядом соответствующий ему вес и сложив затем произведения значений соответствующих цифр на их веса.
Например, двоичное число 010000012 равно 6510. Действительно, 64 х 1 + 1 х 1 = 65.
Вес | ||||||||
Цифра |
Таким образом, для перевода числа из позиционной системы счисления с любым основанием в десятичную систему счисления можно воспользоваться выражением (1.1).
Обратный перевод из десятичной системы счисления в систему счисления с другим основанием непосредственно по (1.1) затруднителен, поскольку все арифметические действия, предусмотренные этой формулой, следует выполнять в той системе счисления, в которую число переводится. Обратный перевод выполняется значительно проще, если предварительно преобразовать отдельно целую и дробную части выражения (1.1) к виду:
Алгоритм перевода числа из десятичной системы счисления в систему счисления с основанием Р, основанный на этих выражениях, позволяет оперировать числами в той системе счисления, из которой число переводится, и может быть сформулиро ван следующим образом (при переводе смешанного числа следует переводить его целую и дробную части отдельно):
• для перевода целой части числа ее, а затем целые части получающихся частных от деления следует последовательно делить на основание Р до тех пор, пока очередная целая часть частного не окажется равной 0. Остатки от деления, записанные последовательно справа налево, образуют целую часть числа в системе счисления с основанием Р;
• для перевода дробной части числа ее, а затем дробные части получающихся произведений следует последовательно умножать на основание Р до тех пор, пока очередная дробная часть произведения не окажется равной 0 или не будет достигнута нужная точность дроби. Целые части произведений, записанные после запятой последовательно слева направо, образуют дробную часть числа в системе счисления с основанием Р.
Пример 1 Пусть требуется перевести смешанное число (например, 46,625) из десятичной в двоичную систему счисления.
1. Переводим целую часть числа: 46 : 2 = 23 (остаток 0);
23 : 2 = 11 (остаток 1); 11 : 2 = 5 (остаток 1); 5:2 = 2 (остаток 1); 2:2=1 (остаток 0); 1:2 = 0 (остаток 1).
Записываем остатки последовательно справа налево — 101110, т.е.
4610= 1011102.
2. Переводим дробную часть числа: 0,625x2= 1,250;
0,250x2 = 0,500;
0,500 х 2 = 1,000 (дробная часть равна 0 => стоп).
Записываем целые части получающихся произведений после запятой последовательно слева направо — 0,101, т. е.
0,62510 = 0,1012.
Окончательно: 46,62510= 101110,1012.