Системы счисления
Совокупность приемов наименования и записи чисел называется счислением. Под системой счисления понимается способ представления любого числа с помощью ограниченного алфавита символов, называемых цифрами. Счисление представляет собой частный случай кодирования, где слово, записанное с использованием определенного алфавита и по определенным правилам, называется кодом. Применительно к счислению это код числа.
22
Различают позиционные и непозиционные системы счисления. В непозиционных системах счисления каждое число обозначается соответствующей совокупностью символов. Характерным представителем непозиционных систем является римская система счисления со сложным способом записи чисел и громоздкими правилами выполнения арифметических операций. Например, запись MCMXCVIII означает, что записано число 1998 (М - тысяча, С - сто, X - десять, V - пять, I - единица и т.д.).
Позиционные системы счисления обладают большими преимуществами в наглядности представления чисел и в простоте выполнения арифметических операций.
В позиционной системе счисления значение числа определяется не только набором входящих в него цифр, но и их местом (позицией) в последовательности цифр, изображающих это число, например, числа 127 и 721.
Позиционной является десятичная система счисления, используемая в повседневной жизни. Помимо десятичной существуют другие позиционные системы счисления, и некоторые из них нашли применение в информатике.
Количество символов, используемых в позиционной системе счисления, называется ее основанием. Его обозначают обычно буквой q. В десятичной системе счисления используется десять символов (цифр): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, и основанием системы является число десять.
Особое место среди позиционных систем счисления занимают системы со степенными весами разрядов, в которых веса смежных позиций цифр (разрядов) отличаются по величине в постоянное количество раз, равное основанию q системы счисления.
В общем случае в такой позиционной системе счисления с основанием q любое число X может быть представлено в виде полинома разложения:
X(q)=xn-1qn-1+xn-2qn-2+...+x1q1x0q0+x-1q-1+...+x-mq-m=
xiqi (1.1)
где x(q) - запись числа в системе счисления с основанием q;
q - основание системы счисления;
хi - целые числа, меньше q;
п - число разрядов (позиций) в целой части числа;
т - число разрядов в дробной части числа.
Например: 4295, 6731(10)=4·103+2·102+9·101+5·100+6·10-1+7·10-2+1·10-4.
Для обозначения используемой системы счисления ее основание указывается в индексе в круглых скобках. Изображение числа X(q) в виде последовательности коэффициентов х полинома является его условной сокращенной записью (кодом).
X(q)=xn-1xn-2...x1x0,x-1...x-m (1.2)
Запятая отделяет целую часть числа от дробной и служит началом отсчета значений веса каждой позиции (разряда).
В информатике применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную и шестнадцатеричную, т.е. системы счисления с основанием q = 2k , где k = 1 , 3, 4.
23
Наибольшее распространение получила
двоичная система счисления. В этой системе для представления любого числа используются два символа - цифры 0 и 1. Основание системы счисления q = 2.
Произвольное число с помощью формулы (1.1) можно представить в виде разложения по степеням двойки:
X(2)=xn-12n-1+xn-2+...x121+x020+x-12-1+...x-m2-m
Тогда условная сокращенная запись в соответствии с (1.2) означает изображение числа в двоичной системе счисления (двоичный код числа), где хi = 0 или 1. Например:
13,625(10)= 1·23 + 1·22+0·21 + 1·20+ 1·2 -1 +0·2-2 + 1·2-3 = 1101, 101(2)
Двоичное представление числа требует примерно в 3,3 раза большего числа разрядов, чем его десятичное представление. Тем не менее применение двоичной системы счисления создает большие удобства для работы ЭВМ, т.к. для представления в машине разряда двоичного числа может быть использован любой запоминающий элемент, имеющий два устойчивых состояния.
Арифметические действия над одноразрядными двоичными числами выполняются по следующим правилам:
0+0=0 |
0?0=0 |
0+1=1 |
0?1=0 |
1+0=1 |
1?0=0 |
1 + 1 = 10 |
1?1=1. |
<
/p>
В восьмеричной системе счисления алфавит состоит из восьми символов (цифр): 0, 1 ... 7. Основание системы счисления q = 8. Для записи произвольного числа в восьмеричной системе счисления необходимо по формуле (1.1) найти его разложение по степеням восьмерки, а затем воспользоваться условной сокращенной записью (1.2).
Например, десятичное число 28 (10) = 3·81 + 4·8 0 = 34(8)
Восьмеричное изображение (код) основания системы счисления q = 8 (10)= 10 (8)
В шестнадцатеричной системе счисления алфавит включает в себя 16 символов (цифр и букв) : 0, 1 ... 9, А, В, С, D, Е, F. Основание системы счисления q= 16. Для записи произвольного числа в этой системе счисления необходимо по формуле (1.1) найти его разложение по степеням 16, а по формуле (1.2) - код.
Например: 75(10)= 4·161 + В-160= 4В (16).
Шестнадцатеричное изображение (код) основания системы счисления q = 16 (10) =10 (16).
Для сравнения в табл. 1.1 приведены коды одних и тех же чисел в разных системах счисления.
Наряду с двоичными кодами, которыми оперирует ЭВМ, для ввода и вывода десятичных чисел (данных) используют специальное
двоично-десятичное кодирование. При двоично-десятичном кодировании каждая десятичная цифра заменяется тетрадой (четверкой) двоичных цифр, а сами тетрады записываются последовательно в соответствии с порядком следования десятичных цифр. При обратном преобразовании двоично-десятичного кода в десятичный исходный код
24
Таблица 1.1
Коды чисел в различных системах счисления
X(10) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
X(2) |
0 |
1 |
10 |
11 |
100 |
101 |
110 |
111 |
1000 |
X(8) |
0 |
1 |
2 |
3 |
4 |
5 |
G |
7 |
10 |
X(16) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
X(10) |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
X(2) |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
10000 |
10001 |
X(8) |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
20 |
21 |
X(16) |
9 |
А |
В |
С |
D |
Е |
F |
10 |
11 |
разбивается на тетрады вправо и влево от запятой, которые затем заменяются десятичными цифрами.
Таким образом, при двоично-десятичном кодировании фактически не производится перевод числа в новую систему счисления, а мы имеем дело с двоично-кодированной десятичной системой счисления.
Например, десятичное число 15(10)= F(16) = 17(8) = 1111(2) = 00010101 (2-10)
Содержание раздела