ПРЕДСТАВЛЕНИЕ И ОБРАБОТКА ЧИСЕЛ В КОМПЬЮТЕРЕ
Одним из основных направлений применения компьютеров были и остаются разнообразные вычисления.
Компьютерная обработка числовой информации ведется и при решении задач, на первый взгляд не связанных с какими-то расчетами, например, при использовании компьютерной графики или звука.
В связи с этим встает вопрос о выборе оптимального представления чисел в компьютере.
Можно было бы использовать 8-битное (байтовое) кодирование отдельных цифр как символов, а из них составлять числа.
Однако такое кодирование не будет оптимальным, что легко увидеть из простого примера.
Пусть имеется двузначное число 13;
При 8-битном кодировании отдельных цифр в кодах ASCII его представление выглядит следующим образом: 0011000100110011, т.е. код имеет длину 16 бит;
Если же определять это число посредством двоичного выборного каскада (например, используя выборочный каскад "Угадайка – 16", подобный ранее описанному), то получим четырехбитную цепочку 1101.
|
|
Представление числа определяет не только способ записи данных (букв или чисел), но и допустимый набор операций над ними;
В частности, буквы могут быть только помещены в некоторую последовательность (или исключены из нее) без изменения их самих;
Над числами же возможны операции, изменяющие само число, например, извлечение корня или сложение с другим числом.
Представление чисел в компьютере по сравнению с формами, известными всем со школы, имеет два важных отличия:
во-первых, числа записываются в двоичной системе счисления (в отличие от привычной десятичной);
во-вторых, для записи и обработки чисел отводится конечное количество разрядов (в "некомпьютерной" арифметике такое ограничение отсутствует).
Любое число имеет значение (содержание) и форму представления.
Значение числа задает его отношение к значениям других чисел ("больше", "меньше", "равно") и, следовательно, порядок расположения чисел на числовой оси.
Форма представления, как следует из названия, определяет порядок (способ) записи числа с помощью предназначенных для этого знаков.
При этом значение числа является инвариантом, т.е. не зависит от способа его представления.
Это означает также, что число с одним и тем же значением может быть записано по-разному, т.е. отсутствует взаимно однозначное соответствие между представлением числа и его значением.
В связи с этим возникают вопросы,
· во-первых, о формах представления чисел, и,
· во-вторых, о возможности и способах перехода от одной формы к другой.
Способ представления числа определяется системой счисления.
|
|
Система счисления – это правило записи чисел с помощью заданного набора специальных знаков – цифр.
Людьми использовались различные способы записи чисел, которые можно объединить в несколько групп:
· унарная,
· непозиционные,
· позиционные.
Унарная - это система счисления, в которой для записи чисел используется только один знак – 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-2 ... 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-ричная системы счисления – причины будут рассмотрены далее.