Автор: Пользователь скрыл имя, 02 Декабря 2011 в 22:14, лекция
Система счисления – способ представления чисел, опирающийся на некоторое конечное число знаков, называемых цифрами.
СИСТЕМЫ
СЧИСЛЕНИЯ
Система счисления – способ представления чисел, опирающийся на некоторое конечное число знаков, называемых цифрами.
Происхождение наиболее употребительной десятичной системы связано с пальцевым счетом. В России до XVIII в. существовала десятичная система счисления, основанная на буквах алфавита , , и т.д. Начертание этих цифр произошло от греческих букв , , и др. Современная десятичная система основана на десяти цифрах, начертание которых сформировалось в Индии к V в. и пришло в Европу с арабскими рукописями, в связи с чем цифры получили название «арабские». В некоторых странах применяли и другие системы счисления, например, в Китае – пятеричную. Существовавшая в Древнем Вавилоне шестидесятеричная система сохранилась в наши дни в делении часа и градуса угла на 60 минут и минут на 60 секунд. Древние евреи использовали как десятичную, так и двенадцатеричную системы счисления.
В
зависимости от способа изображения
чисел системы счисления
Например, в десятичном числе 7 313 цифра 3 (та, что левее) означает, что:
В любой позиционной системе счисления любое число x может быть представлено в следующем виде:
. (1)
Здесь – количество цифр, используемых для записи чисел в данной системе счисления (основание системы счисления);
– числовые коэффициенты, причем
положительные значения индексов соответствуют
цифрам в целой части числа, а отрицательные
– в дробной.
Пример. Десятичное число 7 313, 49 в виде (1) представляется следующим образом:
7 313, 4910 = 7 · 103 + 3 · 102 + 1 · 101 + 3 · 100 + 4 · 10-1 + 9 · 10-2.
Тогда коэффициенты его разложения будут равны
a3
= 7, a2 = 3, a1 = 1, a0
= 3, a-1 = 4, a-2 = 9.
Приведем некоторые примеры позиционных систем счисления.
Таблица 1
Система счисления | Основание | Цифры |
Двоичная | 2 | 0, 1 |
Восьмеричная | 8 | 0, 1, 2, 3, 4, 5, 6, 7 |
Десятичная | 10 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Шестнадцатеричная | 16 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
Общепринятая десятичная система счисления оказывается неудобной для технической реализации, поскольку необходимо различные цифры кодировать десятью различными способами. Поэтому для внутреннего представления чисел в компьютере используется двоичная система счисления – в виде сигналов низкого (0) или высокого (1) уровней. Представление чисел в десятичной системе счисления проводится только на этапе получения информации от пользователя и на этапе выдачи результата.
Установим соответствие между записями чисел в системах счисления, представленных в табл. 1.
Таблица 2
Десятичное число | Двоичное число | Восьмеричное число | Шестнадцатеричное число |
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
16 | 10000 | 20 | 10 |
Несмотря на удобство технической реализации, двоичная система обладает существенным недостатком – громоздкостью записи чисел. Поэтому для сокращения записи используется восьмеричная или шестнадцатеричная форма записи двоичного числа.
Кроме позиционных систем счисления существуют системы, в которых значение цифры не зависит от той позиции, которую она занимает в числе. Такие системы счисления называются непозиционными. Наиболее известным примером непозиционной системы счисления является римская система. В этой системе используется 7 знаков (I, V, X, L, С, D, М), которые соответствуют следующим величинам:
I (1), V (5), X (10), L (50), С (100), D (500), М (1000).
Например, десятичное число 7 313 в римской системе счисления запишется следующим образом:
MMMMMMMCCCXIII.
Недостатком непозиционных систем счисления является отсутствие формальных правил записи чисел и, соответственно, арифметических действий над ними. Поэтому римские числа используются лишь при нумерации (глав в книгах, веков в истории и др.).
При
работе с компьютерами приходится параллельно
использовать несколько позиционных
систем счисления, поэтому большое
практическое значение имеют процедуры
перевода чисел из одной системы
счисления в другую.
Перевод
целого десятичного
числа в произвольную
р-ичную систему
счисления
Для преобразования целого числа x10 из десятичной системы счисления в р-ичную используется следующий алгоритм:
Пример
1. Перевести число 7 31310 в двоичную,
восьмеричную и шестнадцатеричную системы
счисления.
Этап | Перевод
в
двоичную систему |
Перевод
в
восьмеричную систему |
Перевод
в
шестнадцатеричную систему | ||||||
x10 | m | n | x10 | m | n | x10 | m | n | |
1 | 7 313 | 3 656 | 1 | 7 313 | 914 | 1 | 7 313 | 457 | 1 |
2 | 3 656 | 1 828 | 0 | 914 | 114 | 2 | 457 | 28 | 9 |
3 | 1 828 | 914 | 0 | 114 | 14 | 2 | 28 | 1 | 12 |
4 | 914 | 457 | 0 | 14 | 1 | 6 | |||
5 | 457 | 228 | 1 | ||||||
6 | 228 | 114 | 0 | ||||||
7 | 114 | 57 | 0 | ||||||
8 | 57 | 28 | 1 | ||||||
9 | 28 | 14 | 0 | ||||||
10 | 14 | 7 | 0 | ||||||
11 | 7 | 3 | 1 | ||||||
12 | 3 | 1 | 1 |
Т.о., 7 31310
= 1 1100 1001 00012 = 16
2218 = 1 C9116.
Перевод
дробного десятичного
числа в произвольную
р-ичную систему
счисления
Рассмотрим перевод правильной десятичной дроби (дроби, у которой целая часть равна нулю) 0,y10 в р-ичную систему счисления. В общем случае такой перевод абсолютно точно выполнить не удастся. Почему? Следовательно, перевод числа в p-ичную систему счисления можно выполнить только с определенной точностью . Число знаков k после запятой, которые необходимо определить для p-ичного представления дробной части, определяется из соотношения
Отсюда получаем, что
, т.е. . (2)
Для преобразования правильной десятичной дроби числа 0,y10 из десятичной системы счисления в р-ичную используется следующий алгоритм:
Действия 4 – 6 повторить еще k–1 раз.
Пример 2. Перевести число 0,8110 в двоичную, восьмеричную и шестнадцатеричную системы счисления с точностью 0,006.
Этап | Перевод
в двоичную систему |
Перевод
в восьмеричную систему |
Перевод
в шестнадцатеричную систему | ||||||
x10 | m | n | x10 | m | n | x10 | m | n | |
0 | |||||||||
1 | 0,81 | 1 | 0,62 | 0,81 | 6 | 0,48 | 0,81 | 12 | 0,96 |
2 | 0,62 | 1 | 0,24 | 0,48 | 3 | 0,84 | 0,96 | 15 | 0,36 |
3 | 0,24 | 0 | 0,48 | 0,84 | 6 | 0,72 | |||
4 | 0,48 | 0 | 0,96 | ||||||
5 | 0,96 | 1 | 0,92 | ||||||
6 | 0,92 | 1 | 0,84 | ||||||
7 | 0,84 | 1 | 0,68 |
Т.о., 0,8110
= 0,110 01112 = 0,6368
= 0,CF16.
Если число является неправильной десятичной дробью, то есть содержит как целую, так и дробную части, к этим частям по отдельности применяются соответствующие алгоритмы преобразования. Тогда число 7 313,8110 будет представлено в двоичной, восьмеричной и шестнадцатеричной системах счисления с точностью 0,006 следующим образом:
7 313,8110
= 1 110 010 010 001,110 011 12 =
16 221,6368 =
1 C91,CF16.
Перевод
р-ичного числа в
десятичную систему
счисления
Для
перевода p-ичного числа в десятичную
систему счисления используется формула
(1), причем операции сложения, умножения
и возведения в степень в этой формуле
проводятся в десятичной системе.
Пример 3. Перевести двоичное число 1 110 010 010 001,11001112, восьмеричное 16 221,6368 и шестнадцатеричное 1 C91,CF16 в десятичную систему счисления.
1 110 010 010 001,11001112 = 1·212 + 1·211 + 1·210 + 1·27 + 1·24 + 1·20 + 1·2-1 + 1·2-2 + 1·2-5 + 1·2-6 + 1·2-7 =
= 4096 + 2048 + 1024 + 128 + 16 + 1 + 1/2 + 1/4 + 1/32 + 1/64 + 1/128 = 7 313,804687510,
16 221,6368 = 1·84 + 6·83 + 2·82 + 2·81 + 1·80 + 6·8-1 + 3·8-2 + 6·8-3 = 212 + 6·29 + 2·26 + 2·23 + 1 + 6/23 + 3/26 + 6/29 = = 4096 + 6·512 + 128 + 16 + 1 + 6/8 + 3/64 + 6/512 = 7 313,8085937510,
1 C91,CF16 = 1·163 + 12·162 + 9·161 + 1·160 + 2·16-1 + 15·16-2 = 212 + 12·256 + 9·16 + 1 + 12/16 + 15/256 =
= 4096 + 12·256 + 9·16 + 1 + 12/16 + 15/256 = 7 313,8085937510.
Проверим,
что исходные двоичное, восьмеричное
и шестнадцатеричное числа
|7 313,8046875 – 7 313,81| = 0,0053125 < 0,006 = ε,
|7 313,80859375 – 7
313,81| = 0,00140625 < 0,006 = ε.
Преобразование
между двоичной, восьмеричной
и шестнадцатеричной
системами счисления
Указанные
системы счисления используются
в компьютерах для