Представление информации в компьютере. Системы счисления
Системы счисления – это совокупность приемов и правил, по которым числа записываются и читаются. Системы счисления подразделяются на два основных класса: непозиционные и позиционные. Если числовое значение символа не зависит от позиции в записи числа, то система называется непозиционной, в противном случае – позиционной. Пример непозиционной системы счисления – римская десятичная система счисления.
Позиционные системы счисления характеризуются основанием системы счисления (q), под которым понимается количество различных символов (цифр), используемых для изображения числа в данной системе счисления (табл. 1). Например, в десятичной системе счисления их 10 (0, 1, 2,…9), следовательно, основание ее равно десяти (q=10). Запись чисел в любой из систем счисления с основанием q имеет вид выражения:
A n-1 * q n-1 + A n-2 * q n-2 +…+ A 1 * q 1 + A 0 * q 0 + + A -1 *q -1 +…+ A –m * q –m,
где A i – цифры (символы) системы счисления; n, m – число разрядов в целой и дробной части числа, соответственно.
Кроме десятичной системы счисления широко используются системы с основанием, являющимся целой степенью числа 2, а именно:
• двоичная (используются цифры 0, 1);
• восьмеричная (используются цифры 0, 1,..., 7);
• шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1,..., 9, а для следующих – от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).
Таблица 1
Запись чисел в системах счисления (q=10,2,8,16)
q=10 | q=2 | q=8 | q=16 | q=10 | q=2 | q=8 | q=16 |
A | |||||||
B | |||||||
C | |||||||
D | |||||||
E | |||||||
F | |||||||
Правила перевода чисел из одной системы счисления в другую
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему счисления: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тремя цифрами) или тетрадой (четырьмя цифрами). Например,
• 537,18=101 011 111, 0012
• 1A3,F16= 0001 1010 0011, 11112
Для перевода целого числа N с основанием q1 в систему счисления с другим основанием q2 необходимо число N делить на значение q2, записанное в исходной системе счисления и по правилам исходной системы счисления, до тех пор, пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных в символах новой системы и записанных в порядке, обратном порядку их получения.
Для примера рассмотрим перевод из десятичной системы в двоичную (q=2), восьмеричную (q=8) и шестнадцатеричную (q=16) системы счисления. Воспользуемся изложенным правилом. Тогда для перевода целого десятичного числа N (q=10) в систему счисления с другим основанием q необходимо число N делить на значение q, записанное в десятичной системе, до тех пор, пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных одной q -ичной цифрой и записанных в порядке, обратном порядку их получения.
На рис. 1.1 приводятся три примера перевода чисел из десятичной системы в двоичную (q=2), в восьмеричную (q=8) и шестнадцатеричную (q=16): 7510=10010112.
Для перевода правильной десятичной дpоби F в систему счисления с основанием q необходимо F умножить на q, записанное в десятичной системе, затем дробную часть полученного произведения снова умножить на q, и т. д., до тех пор, пока дробная часть очередного произведения не станет равной нулю, либо не будет достигнута требуемая точность изображения числа F в q -ичной системе (рис. 1.2). Представлением дробной части числа F в новой системе счисления будет последовательность целых частей полученных произведений, записанных в порядке их получения и изображенных одной q -ичной цифрой. Если требуемая точность перевода числа F составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется
q -(k+1) / 2.
7510 =1138; 7510 =4B16
Рис. 1.1 Примеры перевода целого числа из десятичной с.с.
Рис. 1.2. Перевод дроби из десятичной с.с. в другие с.с.
Перевод из двоичной, восьмеричной, шестнадцатеричной (или любой другой q-ичной) системы счисления в десятичную.
Перевод в десятичную систему числа Х, записанного в q -ичной системе счисления (q = 2, 8,16…) в виде
X q = A n A n-1 ... А 0, А -1 А -2... А –m ,
где A n, … А 0, А -1,... А –m – символы q-ичной системы, сводится к вычислению значения многочлена по правилам десятичной арифметики:
X10 = Аn * qn + Аn-1 * q(n-1) +... +А 0 * q0 + А-1 * q^(-1) + A-2 * q(-2) +... +А -m * q(-m)