Учебное пособие Способы кодирования информации и системы счисления Под системой счисления понимается способ представления любого числа с помощью некоторого алфавита символов, называемых цифрами. Существуют позиционные и непозиционные системы счисления.
В непозиционных системах счисления (например, римской) вес цифры не зависит от ее позиции в записи числа.В позиционных системах счисления вес цифры (т. е. тот вклад, который она вносит в значение числа) изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. В вычислительной технике применяются только позиционные системы счисления, поэтому в дальнейшем будем рассматривать именно их.
Количество p различных цифр, употребляемых в позиционной системе счисления, называется её основанием. Если p>10, то для обозначения цифр, больших 9, используются символы латинского алфавита: Цифра10111213141516... СимволABCDEFG... Запись числа Xp = an-1 an-2... a1 a0 . a-1... a-m в системе счисления с основанием p (будем обозначать ее ССp) означает сокращенную запись выраженияan-1 p n-1 + an-2 p n-2 + ... + a1 p 1 + a0 p 0 + a-1 p-1 + ... + a-m p -m, (*), где ak - цифры системы счисления; n и m - число целых и дробных разрядов, соответственно.
Если для записи целого числа в системе счисления с основанием p используется n разрядов (цифр), то количество таких чисел равно pn.
Основными задачами при изучении систем счисления являются:
преобразование числа из одной системы счисления в другую;
выполнение арифметических действий в произвольной системе счисления
Для преобразования целых чисел из ССp в СС10 используется схема Горнера, очень удобная для расчетов на калькуляторе:
,
где a1, a2,...,an - цифры исходного числа.
Числа вида (0.a-1... a-m)p представляются в виде (a-1... a-m)p /pm, после чего опять можно использовать схему Горнера.
Примеры:
65438 = ((6*8+5)*8+4)*8+3 = (53*8+4)*8+3 = 428*8+3 = 342710.
152.426 = (1*6+5)*6+2+(4*6+2)/62 = 68+26/36 =68
ABBA14 =((10*14+11)*14+11)*14+10 = (151*14+11)*14+10 = 2125*14+10 = 2976010 Для преобразования целого числа из СС10 в ССq используется следующий алгоритм: последовательно делим с остатком исходное число на основание системы счисления q до получения нулевого результата; записывая остатки, начиная с последнего, получаем представление исходного числа в ССq.
Для преобразования десятичной дроби вида X = (0.a-1... a-m)10 из СС10 в ССq необходимо умножать его на q до тех пор, пока дробная часть очередного произведения не станет равной нулю, либо не будет достигнута требуемая точность изображения числа в ССq. Представлением числа X в ССq будет последовательность целых частей полученных произведений, записанных в порядке их получения. Если требуемая точность перевода числа составляет k знаков после запятой, то предельная абсолютная погрешность при этом равняется q -(k+1) / 2. Примеры: 3456710= X6 0.38610 = Z9 34567 6 Z = 0.3426 с предельной
абсолютной
погрешностью
(9-4)/2 = 0.76e-4 0. 386 1 6261 6 x 9 3 1043 6 3. 474 5 173 6 x 9 5 28 6 4. 266 X = 4455316 4 4 6 x 9 4 0 2. 875 x 15 13.