Сайт для студентов педагогического колледжа
Главная Лекции УМК Документы
Теория информации
 
 
 
 
 
 
 

Часть 6 Вопросы 16-18

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

 

Начнем с некоторых общих замечаний относительно понятия число. Можно считать, что любое число имеет значение (содержание) и форму представления. Значение числа задает его отношение к значениям других чисел («больше», «меньше», «равно») и, следовательно, порядок расположения чисел на числовой оси. Форма представления, как следует из названия, определяет порядок записи числа с помощью предназначенных для этого знаков. При этом значение числа является инвариантом, т.е. не зависит от способа его представления. Это означает также, что число с одним и тем же значением может быть записано по-разному, т.е. отсутствует взаимно однозначное соответствие между представлением числа и его значением. В связи с этим возникают вопросы, во-первых, о формах представления чисел, и, во-вторых, о возможности и способах перехода от одной формы к другой.

Способ представления числа определяется системой счисления.

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

Людьми использовались различные способы записи чисел, которые можно объединить в несколько групп: унарная, непозиционные и позиционные.

Унарная – это система счисления, в которой для записи чисел используется только один знак – I («палочка»). Следующее число получается из предыдущего добавлением новой I; их количество (сумма) равно самому числу. Именно такая система применяется для начального обучения счету детей (можно вспомнить «счетные палочки»); использование унарной системы оказывается важным педагогическим приемом для введения детей в мир чисел и действий с ними. Но, как мы увидим в дальнейшем, унарная система важна также в теоретическом отношении, поскольку в ней число представляется наиболее простым способом и, следовательно, просты операции с ним. Кроме того, именно унарная система определяет значение целого числа количеством содержащихся в нем единиц, которое, как было сказано, не зависит от формы представления. Для записи числа в унарной системе в дальнейшем будем использовать обозначение Z1.

Из непозиционных наиболее распространенной можно считать римскую систему счисления. В ней некоторые базовые числа обозначены заглавными латинскими буквами: 1 – I, 5 – V, 10 – X, 50 – L, 100 – C, 500 – D, 1000 – M. Все другие числа строятся комбинаций базовых в соответствии со следующими правилами:

ü   если цифра меньшего значения стоит справа от большей цифры, то их значения суммируются; если слева – то меньшее значение вычитается из большего.

ü   цифры I, X, C и M могут следовать подряд не более трех раз каждая;

ü   цифры V, L и D могут использоваться в записи числа не более одного раза.

Например, запись XIX соответствует числу19, MDXLIX – числу 1549. Запись чисел в такой системе громоздка и неудобна, но еще более неудобным оказывается выполнение в ней даже самых простых арифметических операций. Отсутствие нуля и знаков для чисел больше M не позволяют римскими цифрами записать любое число (хотя бы натуральное). По указанным причинам теперь римская система используется лишь для нумерации.

В настоящее время для представления чисел применяют, в основном, позиционные системы счисления.

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

Наиболее распространенной и привычной является система счисления, в которой для записи чисел используется 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Число представляет собой краткую запись многочлена, в который входят степени некоторого другого числа – основания системы счисления. Например,

272,12 = 2·102+7·101+2·100+ 1·10-1+2·10-2

В данном числе цифра 2 встречается трижды, однако, значение этих цифр различно и определяется их положением (позицией) в числе. Количество цифр для построения чисел, очевидно, равно основанию системы счисления. Также очевидно, что максимальная цифра на 1 меньше основания. Причина широкого распространения именно десятичной системы счисления понятна – она происходит от унарной системы с пальцами рук в качестве «палочек». Однако в истории человечества имеются свидетельства использования и других систем счисления – пятиричной, шестиричной, двенадцатиричной, двадцатиричной и даже шестидесятиричной.

Общим для унарной и римской систем счисления является то, что значение числа в них определяется посредством операций сложения и вычитания базисных цифр, из которых составлено число, независимо от их позиции в числе. Такие системы получили название аддитивных. В отличие от них позиционное представление следует считать аддитивно-мультипликативным, поскольку значение числа определяется операциями умножения и сложения. Главной же особенностью позиционного представления является то, что в нем посредством конечного набора знаков (цифр, разделителя десятичных разрядов и обозначения знака числа) можно записать неограниченное количество различных чисел. Кроме того, в позиционных системах гораздо легче, чем в аддитивных, осуществляются операции умножения и деления. Именно эти обстоятельства обуславливают доминирование позиционных систем при обработке чисел как человеком, так и компьютером.

По принципу, положенному в основу десятичной системы счисления, очевидно, можно построить системы с иным основанием. Пусть p – основание системы счисления. Тогда любое число Z (пока ограничимся только целыми числами), удовлетворяющее условию Z < pk (k 0, целое), может быть представлено в виде многочлена со степенями p (при этом, очевидно, максимальный показатель степени будет равен k – 1):

 

(1)

Из коэффициентов aj при степенях основания строится сокращенная запись числа:

Zp = (ak-1 ak-1… a1 a0)

Индекс p у числа Z указывает, что оно записано в системе счисления с основанием p; общее число цифр числа равно k. Все коэффициенты aj – целые числа, удовлетворяющие условию:

0 aj p - 1

Уместно задаться вопросом: каково минимальное значение p? p =1 невозможно, поскольку тогда все aj = 0 и форма (1) теряет смысл. Первое допустимое значение p=2 – оно и является минимальным для позиционных систем. Система счисления с основанием 2 называется двоичной. Цифрами двоичной системы являются 0 и 1, а форма (1) строится по степеням 2. Интерес именно к этой системе счисления связан с тем, что, как указывалось выше, любая информация в компьютерах представляется с помощью двух состояний – 0 и 1, которые легко реализуются технически. Наряду с двоичной в компьютерах используются 8-ричная и 16-ричная системы счисления – причины будут рассмотрены далее.

Поскольку одно и то же число может быть записано в различных системах счисления, встает вопрос о переводе представления числа из одной системы (p) в другую (q) – будем обозначать такое преобразование Zp Zq. Теоретически возможно произвести его при любых q и p. Однако подобный прямой перевод будет затруднен тем, что придется выполнять операции по правилам арифметики недесятичных систем счисления. По этой причине более удобными с практической точки зрения оказываются варианты преобразования с промежуточным переводом Zp Zr Zq с основанием r, для которого арифметические операции выполнить легко. Такими удобными основаниями является r = 10, т.е. перевод осуществляется через десятичную систему счисления.

 

Переводы чисел между системами счисления

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

Преобразование Zp Z10 Zq (для целых чисел)

Очевидно, первая и вторая часть преобразования не связаны друг с другом, что дает основание рассматривать их по отдельности.

Алгоритмы перевода Z10 Zq вытекают из следующих соображений. Многочлен (1) для Zq может быть представлен таким образом:

 

(2)

где m – число разрядов в записи Zq, а bj (j = 0…m–1) – цифры числа Zq.

Разделим число Zq на две части по разряду номер i; число, включающее m–i разрядов с m–1-го по i-й обозначим i, а число с i разрядами с i–1-го по 0-ой – i. Очевидно, i  [0,m–1],  0 = m-1 = Zq. Позаимствуем из языка PASCAL обозначение двух операций: div – результат целочисленного деления двух целых чисел и mod – остаток от целочисленного деления (13 div 4=3; 13 mod 4 = 1). Теперь если принять m-1 = bm-1, то в (2) усматривается следующее рекуррентное соотношение: i = i+1 · q + bi, из которого, в свою очередь, получаются выражения:

 

(3)

Аналогично, если принять 0 = b0, то для правой части числа будет справедливо другое рекуррентное соотношение: i = i-1 + bi ·qi, из которого следуют:

 

(4)

Из соотношений (3) и (4) непосредственно вытекают два способа перевода целых чисел из 10-ной системы счисления в систему с произвольным основанием q.

Способ 1 является следствием соотношений (3), из которых просматривается следующий алгоритм перевода:

1.         целочисленно разделить исходное число (Z10) на основание новой системы счисления (q) и найти остаток от деления – это будет цифра 0-го разряда числа Zq;

2.         частное от деления снова целочисленно разделить на q с выделением остатка; процедуру продолжать до тех пор, пока частное от деления не окажется меньше q;

3.         образовавшиеся остатки от деления, поставленные в порядке, обратном порядку их получения, и представляют Zq.

Пример 2 Выполнить преобразование 12310 Z5.

Остатки от деления (3, 4) и результат последнего целочисленного деления (4) образуют обратный порядок цифр нового числа. Следовательно, 12310 = 4435.

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

Алгоритмы перевода Zp Z10 явно вытекает из представлений (1) или (2): необходимо Zp представить в форме многочлена и выполнить все операции по правилам десятичной арифметики.

Пример 3 Выполнить преобразование 4435 Z10

4435 = 4·52+4·51+3·50 = 4·25+4·5+3·1 = 12310

Необходимо еще раз подчеркнуть, что приведенными алгоритмами удобно пользоваться при переводе числа из десятичной системы в какую-то иную или наоборот. Ситуация, однако, значительно упрощается, если основания исходной и конечной систем счисления оказываются связанными соотношением p = qr, где r – целое число (естественно, большее 1) или r = 1/n ( n>1, целое)– эти случаи будут рассмотрены ниже.

Вещественное число, в общем случае содержащее целую и дробную часть, всегда можно представить в виде суммы целого числа и правильной дроби.


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

Алгоритмы перевода 0,Y10 0,Yq (для дробных чисел)

Выводится путем следующих рассуждений. Если основание системы счисления q, простая дробь содержит n цифр и bk – цифры дроби (1 k n, 0 bk q–1), то она может быть представлена в виде суммы:

 

(5)

Часть дроби от разряда i до ее конца обозначим i и примем n = bn/q (очевидно, 1 = 0,Yq); тогда в (5) легко усматривается рекуррентное соотношение:

 

(6)

Если вновь позаимствовать в PASCAL’е обозначение функции – на этот раз trunc, которая производит округление целого вещественного числа путем отбрасывания его дробной части, то следствием (6) будут соотношения, позволяющие находить цифры новой дроби:

bi = trunc(q· i),

 

i+1 = q· i - trunc(q· i)

 

(7)

Соотношения (7) задают алгоритм преобразования 0,Y10 0,Yq:

ü   умножить исходную дробь в 10-ной системе счисления на q, выделить целую часть – она будет первой цифрой новой дроби; отбросить целую часть;

ü   для оставшейся дробной части операцию умножения с выделением целой и дробных частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаемая точность конечного числа (exact); появляющиеся при этом целые будут цифрами новой дроби;

ü   записать дробь в виде последовательности цифр после ноля с разделителем в порядке их появления в п. (1) и (2).

 

Пример 4: Выполнить преобразование 0,37510 0,Y2

Таким образом, 0,37510 = 0,0112

Перевод 0,Yp 0,Y10,

как и в случае натуральных чисел, сводится к вычислению значения формы (5) в десятичной системе счисления. Например,

0,0112 = 0·2-1 + 1·2-2 + 1·2-3 = 0,25 + 0,125 = 0,37510

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

Пример 5 Выполнить преобразование 5,3(3)10 X3

Перевод целой части, очевидно, дает: 510 = 123. Перевод дробной части: 0,3(3)10 = 0,13. Окончательно: 5,3(3)10 = 12,13.

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

Число в системе счисления p с k разрядами, очевидно, будет иметь наибольшее значение в том случае, если все цифры числа окажутся максимальными, т.е. равными p – 1. Тогда

 

(4.8)

Количество разрядов числа при переходе от одной системы счисления к другой в общем случае меняется. Очевидно, если p =q ( – не обязательно целое), то (Zp)max = pk – 1 =q k – 1. Т.е. количество разрядов числа в системах счисления p и q будут различаться в раз. Очевидно соотношение:

 

(4.9)

При этом основание логарифма никакого значения не имеет, поскольку определяется отношением логарифмов. Сравним количество цифр в числе 9910 и его представлении в двоичной системе счисления: 9910 = 11000112; т.е. двоичная запись требует 7 цифр вместо 2 в десятичной. = ln(10)/ln(2) = 3,322; следовательно, количество цифр в десятичном представлении нужно умножить на 3,322 и округлить в большую сторону: 2·3,322 = 6,644 7 .

 

(с) copyright 2010, pedstudent.narod.ru. Копирование материал разрешено только со ссылкой на источник. 

Используются технологии uCoz