Тема 4. Системы счислений

Система счислений (CC) - способ именования и изображения числе с помощью символов, имеющих определенное количественное значение.

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

В зависимости от способов изображения чисел цифрами, системы счисления делятся на непозиционные и позиционные. Непозиционной системой называется такая, в которой количественное значение каждой цифры не зависит от занимаемой ей позиции в изображении числа (римская система счисления). Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.

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

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

Примером позиционной формы записи чисел является та, которой мы пользуемся (так называемая арабская форма чисел). Так, в числах 123 и 321 значения цифры 3, например, определяются ее положением в числе: в первом случае она обозначает три единицы (т.е. просто три), а во втором – три сотни (т.е. триста). Тогда полное число, получается по формуле:

Рисунок 4.1 – Формула

где

l – количество разрядов числа, уменьшенное на 1,

i – порядок разряда,

m – основание системы счисления,

ai – множитель, принимающий любые целочисленные значения от 0 до m-1, и соответствующий цифре i-го порядка числа.

Например, для десятичного (m = 10) числа 345 его полное значение рассчитывается по формуле:
3*102 + 4*101 + 5*100 = 345.

Римские числа являются примером полупозиционной системы образования числа: так, в числах IX и XI знак I обозначает в обоих случаях единицу (признак непозиционной системы), но, будучи расположенным слева от знака X (обозначающего десять), вычитается из десяти, а при расположении справа – прибавляется к десяти. В первом случае полное значение числа равно 9, во втором – 11.

По количеству число cимволов СС делятся на :

q Название Цифры
2 двоичная 0,1
3 троичная 0,1,2
8 восьмеричная 0,1,2,3,4,5,6,7
10 десятичная 0,1,2,3,4,5,6,7,8,9
12 двенадцатиричная 0,1,2,3,4,5,6,7,8,9,10,11
16 шестнадцатиричная 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

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

Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является  вычислительная техника. Такое положение дел сложилось исторически, поскольку двоичный сигнал проще представлять на аппаратном уровне. В этой системе счисления для представления числа применяются два знака – 0 и 1.

Шестнадцатеричная система счисления  используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

Десятичная система счисления используется для кодирования дискретного сигнала, потребителем которого является так называемый конечный пользователь – неспециалист в области информатики (очевидно, что и любой человек может выступать в роли такого потребителя). Используемые знаки для представления числа – цифры от 0 до 9.

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


Десятичная СС Двоичная СС Шестнадцатеричная СС
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 А
11 1011 В
12 1100 C
13 1101 D
14 1110 E
15 1111 F

Рисунок 4.2 – Таблица значений

Для различения систем счисления, в которых представлены числа, в обозначение двоичных и шестнадцатеричных чисел вводят дополнительные реквизиты:

  • для двоичных чисел – нижний индекс справа от числа в виде цифры 2 или букв В либо b (binary – двоичный), либо знак B или b справа от числа. Например, 1010002 = 101000b = 101000B = 101000B = 101000b;
  • для шестнадцатеричных чисел - нижний индекс справа от числа в виде числа 16 или букв H либо h (hexadecimal – шестнадцатеричный), либо знак  H или h справа от числа. Например, 3AB16 = 3ABH = 3ABh = 3ABH = 3ABh.

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


Правило перевода целых чисел:

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


Проверка правильности перевода:

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

100112=1*24+0*23+0*22+1*21+1*20=1910

Правило перевода дробных чисел:

Для перевода дробной части числа из десятичной CC в любую другую необходимо умножать дробную десятичную часть на основание системы до получения заданной точности.

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

Представим исходное число как сумму целого числа и правильной дроби:
19,84710 = 1910 + 0,84710.

1910 = 100112; 0,84710 = 0,11012.

Тогда имеем:
1910 + 0,84710 = 100112 + 0,11012 = 10011,11012.
Таким образом, 19,84710 = 10011,11012.


Copyright © 2015 Vyatka state agricultural academy (VyatSAA)

Copyright © 2015 Valeriya Shelpyakova

Copyright © 2015 Akeksandra Shishkina

Copyright © 2015 Valeriy Dyachkov

XHTML | CSS