Системы счисления

Автор: Пользователь скрыл имя, 02 Декабря 2011 в 22:14, лекция

Описание работы

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

Работа содержит 1 файл

1. Системы счисления.doc

— 245.50 Кб (Скачать)

СИСТЕМЫ СЧИСЛЕНИЯ 

    Система счисления способ представления чисел, опирающийся на некоторое конечное число знаков, называемых цифрами.

    Происхождение наиболее употребительной десятичной системы связано с пальцевым  счетом. В России до XVIII в. существовала десятичная система счисления, основанная на буквах алфавита , , и т.д. Начертание этих цифр произошло от греческих букв , , и др. Современная десятичная система основана на десяти цифрах, начертание которых сформировалось в Индии к V в. и пришло в Европу с арабскими рукописями, в связи с чем цифры получили название «арабские». В некоторых странах применяли и другие системы счисления, например, в Китае – пятеричную. Существовавшая в Древнем Вавилоне шестидесятеричная система сохранилась в наши дни в делении часа и градуса угла на 60 минут и минут на 60 секунд. Древние евреи использовали как десятичную, так и двенадцатеричную системы счисления.

    В зависимости от способа изображения  чисел системы счисления делятся  на позиционные и непозиционные. Каждая цифра в числе, записанном в позиционной системе счисления, несет двойную информационную нагрузку:

  1. количество;
  2. разряд, т.е. позицию, на которой цифра находится в числе.

Например, в десятичном числе 7 313 цифра 3 (та, что левее) означает, что:

  1. она находится во втором разряде (отсчет разрядов ведется справа, начиная с нуля), т.е. соответствует разряду сотен;
  2. количество этих сотен равно 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. начало;
  2. задать число x10;
  3. если x10 < p, то x10 = xp (перевод выполнять не нужно) и перейти к шагу 7; в противном случае перейти к шагу 4;
  4. разделить x10 на p и записать целую часть m частного и остаток n;
  5. записать остаток n с в младший из незаполненных разрядов p-ичного числа;
  6. заменить число x10 на m и вернуться к шагу 3;
  7. конец.
 

    Пример 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 из десятичной системы счисления в р-ичную используется следующий алгоритм:

  1. начало;
  2. задать число 0,y10 и точность ;
  3. вычислить по формуле (2) число k р-ичных разрядов, требуемых для записи дробной части;
  4. умножить число 0,y10 на р и записать целую часть m и дробную n часть произведения.
  5. записать m в старший разряд дробной части р-ичного числа;
  6. заменить число 0,y10 на n.

    Действия 4 – 6 повторить еще k–1 раз.

  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,8110 с точностью до ε = 0,006:

|7 313,8046875 – 7 313,81| = 0,0053125 < 0,006 = ε,

|7 313,80859375 – 7 313,81| = 0,00140625 < 0,006 = ε. 

Преобразование  между двоичной, восьмеричной и шестнадцатеричной системами счисления 

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

Информация о работе Системы счисления