Системы счисления
Аналогичными системами счисления были греческая геродианова, римская, сирийская и др.
Римские цифры – традиционное название знаковой системы для обозначения чисел, основанной на употреблении особых символов для десятичных разрядов:
I V X L C D M
1 5 10 50 100 500 1000
Возникла около 500 до н. э. у этрусков и использовалась в Древнем Риме; иногда употребляется и в настоящее время. В этой системе счисления натуральные числа записываются при помощи повторения этих цифр. При этом если большая цифра стоит перед меньшей, то они складываются ( принцип сложения ), если же меньшая – перед большей, то меньшая вычитается из большей ( принцип вычитания ). Последнее правило применяется только во избежания четырехкратного повторения одной и той же цифры. Например, I, X, C, ставятся соответственно перед X, C, M для обозначения 9, 90, 900 или перед V, L, D для обозначения 4, 40, 400.
Например, VI=5+1=6, IV=5-1=4 ( вместо IIII ), XIX=10+10-1=19 ( вместо XVIIII), XL=50-10=40 ( вместо XXXX ), XXXIII=10+10+10+1+1+1=33 и т. д. Выполнение арифметических действий над многозначными числами в этой системе весьма неудобно.
Более совершенными системами счисления являются алфавитные: ионийская, славянская, еврейская, арабская, а также грузинская и армянская. Первой алфавитной системой счисления была по – видимому, ионийская, возникшая в греческих колониях в Малой Азии в середине 5 века до н. э. В алфавитных системах счисления числа от 1 до 9, а также все десятки и сотни обозначаются, как правило, последовательными буквами алфавита ( над которыми ставятся черточки, чтобы отличить записи чисел от слов). Число 343 в ионийской системе записывалось так: ( здесь - 300, - 40, - 3).
Цифровое значение славянских азбук. Так для кириллицы:
Для обозначения чисел над буквами специальный знак титло (иногда над каждой буквой, иногда только над первой или же над всем числом).При записи чисел, больших 10, цифры писались слева направо в порядке убывания десятичных разрядов ( однако иногда для чисел от 11 до 19 единицы записывались ранее десяти ). Для обозначения тысяч перед числом их ( слева внизу ) ставился особый знак . Так, например:
Для обозначения и наименования высших десятичных разрядов ( более ) существовали две системы: «малое число» и «великое число»; в последнюю систему входили числа до или даже ( «боле сего несть человеческому уму разумевати» ):
Славянские цифры до 18 века были основным цифровым обозначением в России.
В алфавитных системах счисления, запись чисел гораздо короче, чем в предыдущих; кроме того, над числами, записанными в алфавитной нумерации, гораздо легче производить арифметические действия. Однако в алфавитных системах счисления нельзя записывать сколь угодно большие числа. Греки расширили ионийскую нумерацию: числа 1000, 2000,…,9000 они обозначали теми же буквами, что и 1,2,…,9, но ставили штрих внизу слева: так, обозначала 1000, - 2000 и т. д. Для 10 000 был введен новый знак . Тем не менее ионийская система счисления оказалась непригодной уже для астрономических вычислений эпохи эллинизма, и греческие астрономы того времени стали комбинировать алфавитную систему с шестидесятеричной вавилонской – первой известной нам системой счисления, основанной на позиционном принципе. В системе счисления древних вавилонян, возникшей примерно за 2000 лет до н. э. все числа записывались с помощью двух знаков: ( для единицы) и ( для десяти). Числа до 60 записывались как комбинации этих двух знаков с применением принципа сложения. Число 60 снова обозначалось знаком , являясь единицей высшего разряда. Для записи чисел от 60 до 3600 вновь применялся принцип сложения, а число 36 000 обозначалась тем же знаком, что и единица, и т. д. Число 343=5*60+4*10+3 в этой системе записывалось так:
Однако в силу отсутствия знака для нуля, которым можно было бы отмечать недостающие разряды, запись чисел в этой системе счисления не была однозначной. Особенностью вавилонской системы счисления было то, что абсолютное значение чисел оставалось неопределенным.
Другая система счисления основанная на позиционном принципе, возникла у индейцев майя, обитателей полуострова Юкатан ( Центральная Америка) в середине 1 – го тыс. н. э. У майя существовали две системы счисления: одна, напоминающая египетскую, употреблялась в повседневной жизни, другая – позиционная, с основанием 20 и особым знаком для нуля, применялась при календарных расчетах. Запись в этой системе, как и в нашей современной, носила абсолютный характер.
Современная десятичная позиционная система счисления возникла на основе нумерации, зародившейся не позднее 5 в. в Индии. До этого в Индии имелись системы счисления, в которых применялся не только принцип сложения, но и принцип умножения ( единица какого – нибудь разряда умножается на стоящее слева число). Аналогично строились старокитайская система счисления и некоторые другие. Если, например, условно обозначить число 3 символом III, а число 10 символом X, то число 30 запишется как IIIX ( три десятка ). Такие системы счисления могли служить подходом к мозданию десятичной позиционной нумерации.
Десятичная позиционная система дает принципиальную возможность записывать сколь угодно большие числа. Запись чисел в ней компактна и удобна для производства арифметических операций. Поэтому вскоре после возникновения десятичная позиционная система счисления начинает распространяться из Индии на Запад и Восток. В 9 веке появляются рукописи на арабском языке, в которых излагается эта система счисления, в 10 веке десятичная позиционная нумерация доходит до Испании, в начале 12 века она появляется и в других странах Европы. Новая система счисления получила название арабской, потому что в Европе с ней познакомились впервые по латинским переводам с арабского. Только в 16 веке новая нумерация получила широкое распространение в науке и житейском обиходе. В России она начинает распространятся в 17 веке и в самом начале 18 в. вытесняет алфавитную. С введением десятичных дробей десятичная позиционная система счисления стала универсальным средством для записи всех действительных чисел.
Двоичные системы счисления
Системой счисления называется совокупность приемов и правил для наименования и обозначения чисел. Условные знаки, применяемые для обозначения чисел, называются цифрами.
Обычно все системы счисления разбивают на два класса: непозиционные и позиционные. Непозиционной называют систему счисления, в которой значение каждой цифры в любом месте последовательности цифр, означающей запись числа, не изменяется.
Исторически первыми системами счисления были именно непозиционные системы. Одним из основных недостатков является трудность записи больших чисел. Запись больших чисел в таких системах либо очень громоздка, либо алфавит системы чрезвычайно велик. Примером непозиционной системы счисления, достаточно широко применяющейся в настоящее время, может служить так называемая римская нумерация.
Для определения значения числа недостаточно знания типа и алфавита системы счисления. для этого необходимо еще задание правила, позволяющего по значению цифр установить значение числа. Например, для определения значения числа 945 в обычной десятичной системе счисления применяется функция десятичного сложения, т. е. значение числа определяется по значению цифр (9 в крайней левой позиции, 5 в крайней правой позиции, 4 между ними) обычным суммированием: значение числа 945 есть 900+40+5. В римской нумерации число IX определяется вычитанием: значение числа IX есть 10-1=9.
Системы, в которых значение каждой цифры зависит и от места в последовательности цифр при записи числа, носят название позиционных. Позиционной системой счисления является обычная десятичная система счисления.
При выполнении различных операций в современных цифровых системах числа обычно представляются в двоичной системе счисления, основанием которой является число 2. При этом целое k-разрядное десятичное число записывается в виде n-разрядного двоичного числа :
==,
где =0, 1, … , 9 – цифра в i-м разряде десятичного числа:
=0 или 1 – цифра в j-м разряде двоичного числа.
Введением отрицательных степеней числа 2 представляются дробные числа.
Таким образом, в двоичном счислении любое числи можно представить двумя числами: 0 и 1. Для представления этих чисел в цифровых системах достаточно иметь электронные схемы, которые могут принимать два состояния, четко различающиеся значением какой-либо электрической величины – потенциала или тока. Одному из значений этой величины соответствует цифра 0, другому 1. Относительная простота создания электронных схем с двумя электрическими состояниями и привела к тому, что двоичное представление чисел доминирует в современной цифровой технике. При этом 0 обычно представляется низким уровнем потенциала, а 1 – высоким уровнем. Такой способ представления называется положительной логикой.
Перевод десятичного числа в двоичный код можно осуществлять путем последовательного деления числа на 2. Остатки ( 0 или 1 ), получающиеся на каждом шаге деления, формируют двоичный код преобразуемого числа, начиная с его младшего разряда. В качестве старшего разряда двоичного кода записывается 1, полученная в результате последнего шага деления. Например, преобразование числа =109 в двоичный код выполняется следующим образом:
: остатки 109 2
=1 54 2
=0 27 2
=1 13 2
=1 6 2
=0 3 2
=1 1
=
=109===1101101
Обратное преобразование выполняется следующим образом:
=
1 0 1 1 0 1 1
Цифровые системы оперируют действительными, целыми и дробными числами, которые могут иметь две формы представления: с плавающей запятой, с фиксированной запятой.
При использовании плавающей запятой число состоит из двух частей: мантиссы m, содержащей значащие цифры числа, и порядка p, показывающего степень, в которую надо возвести основание числа q, чтобы полученное при этом число, умноженное на мантиссу , давало истинное значение представляемого числа:
Мантисса и порядок представляются в двоичном коде. Обычно число дается в нормализованном виде, когда его мантисса является правильной дробью, причем первая значащая цифра ( единица ) следует непосредственно после запятой: например, где m=0,1010; p=10; q=2
При использовании фиксированной запятой число представляется в виде единого целого, причем положение запятой в используемой разрядной сетке жестко фиксировано. Обычно числа с фиксированной запятой даются в виде правильной дроби. Для этого все числа умножают на масштабный коэффициент, чтобы перевести их в правильную дробь. Цифровые системы, использующие числа с плавающей запятой, сложнее систем, использующих числа с фиксированной запятой, так как при этом требуется выполнение операций как над мантиссами, так и над порядками. Однако диапазон представляемых чисел при одинаковом числе разрядов в системах с плавающей запятой значительно больше.
Для представления знака числа используется знаковый разряд z, который обычно располагается перед числовыми разрядами. Для положительных чисел значение знакового разряда z=0, для отрицательных чисел z=1. Для чисел с плавающей запятой вводятся отдельные знаковые разряды для мантиссы и для порядка чисел.
Для представления числе со знаком в цифровых системах используется обратный1 или дополнительный2 код (таб. 1.). При этом положительные числа представляются в обычном двоичном коде. Обратный код отрицательного числа образуется путем замены 0 во всех разрядах исходного двоичного числа на 1, и наоборот. Дополнительный код отрицательного числа получается из обратного прибавлением 1 к младшему разряду.
Особенность кода Грея в том , что при переходе к каждому последующему числу в коде изменяется значение только одного двоичного разряда. При этом двухразрядные числа образуют циклическую последовательность 00-01-11-10 (0-1-2-3), трехразрядные – последовательность 000-001-011-010-110-111-101-100-000 (0-1-2-3-4-5-6-7-0) и т.д. Такая цикличность кода является весьма удобной, например, для кодирования угловых перемещений в преобразователях угла поворота в цифровой код.
Таблица 1. Наиболее распространенные двоичные коды от 0 до 15
Десятичное число | Форма представления | |||||||||||||||