Как называется современная система счисления единицы. Непозиционные системы счисления. Единичная система счисления

Как только люди начали считать, у них появилась потребность в записи чисел. Археологи находили на стоянках первобытных людей свидетельства того, что изначально почти любое количество записывалось просто тождественным ему количеством значков: палочек, точек, черточек. Такая система называется единичной (унарной). Любое число в этой системе записывается повторением одного знака, который символизирует единицу.

Не смотря на древность этой системы она используется и по сей день, первоклассников учат считать на палочках, а для определения курса, на котором сейчас обучается курсант военного училища следует посчитать количество полосок, нашитых на его рукаве.

Унарная система - не самый удобный способ записи чисел, запись занимает много места и монотонность записи приводит к ошибкам, поэтому с течением времени начали появляться более удобные системы счисления .

Десятичная древнеегипетская система счисления

У Древних Египтян была весьма удобная система счисления, в ней были знаки обозначающие ключевые числа: 1, 10, 100 и т. д. Остальные числа записывали с помощью сложения. Обозначения некоторых чисел представлено в рисунке 1 .

Сейчас система не используется.

Римская система счисления

Эта система сохранилась без изменений до наших дней. Появилась она более чем две с половиной тысячи лет назад в Древнем Риме. В ее основе лежали знаки I (палец руки) для числа 1, V (пятерня) для числа 5, X (две руки) для числа 10. А для обозначения 100, 500 и 1000 применяли первые буквы латинских названий (centum - сто, demimille - половина тысячи, mille - тысяча). Для того чтобы записать число римляне использовали не только суммы, как египтяне, но и разность. Для этого применялось простое правило: каждый меньший знак стоящий после большего прибавляется к его значению, а стоящий перед большим знаком отнимается от его значения. Таким образом IX - обозначает 9, а XI - 11 .

Римскими цифрами пользуются по сей день, и з используют для наименования разделов, подразделов книг, веков, так же их часто пишут на часах.

Алфавитные системы счисления

К таким системам относятся: греческая, славянская, финская и другие. Здесь числа от 1 до 9, от 10 до 90 и от 100 до 900 обозначались буквами алфавита. В Древней Греции цифры обозначались первыми девятью буквами греческого алфавита. Числа от 10 до 90 - следующими девятью. И от 100 до 900 - последними девятью буквами римского алфавита. У славян числовые значения соответствовали буквам по порядку. Сначала для этого использовалась глаголица, а потом и кириллица. В России такая нумерация сохранилась до конца XVII века. Потом Петр I привез из-за границы арабскую нумерацию, которую мы используем по сей день .

Возникновение которой связано со счётом на пальцах. В средневековой Европе она появилась через итальянских купцов, в свою очередь заимствовавших её у жителей Средней Азии.

Определения

Позиционная система счисления определяется целым числом b > 1 {\displaystyle b>1} , называемым основанием системы счисления. Система счисления с основанием b {\displaystyle b} также называется b {\displaystyle b} -ричной (в частности, двоичной , троичной , десятичной и т.п.).

x = ∑ k = 0 n − 1 a k b k {\displaystyle x=\sum _{k=0}^{n-1}a_{k}b^{k}} , где a k {\displaystyle \ a_{k}} - это целые числа, называемые цифрами , удовлетворяющие неравенству 0 ≤ a k ≤ b − 1. {\displaystyle 0\leq a_{k}\leq b-1.} x = a n − 1 a n − 2 … a 0 . {\displaystyle x=a_{n-1}a_{n-2}\dots a_{0}.}

В ненулевых числах x {\displaystyle \ x} начальные нули обычно опускаются.

Для записи чисел в системах счисления с основанием до 36 включительно в качестве цифр (знаков) используются арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и, затем, буквы латинского алфавита (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z). При этом, a = 10, b = 11 и т.д., иногда x = 10.

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

123 10 {\displaystyle 123_{10}} - это число 123 в десятичной системе счисления ; 173 8 {\displaystyle 173_{8}} - то же число в восьмеричной системе счисления ; 1111011 2 {\displaystyle 1111011_{2}} - то же число, но в двоичной системе счисления ; 0001 0010 0011 10 = 000100100011 B C D {\displaystyle 0001\ 0010\ 0011_{10}=000100100011_{BCD}} - то же число, но в десятичной системе счисления с двоичным кодированием десятичных цифр (BCD); 11120 3 N {\displaystyle 11120_{3N}} - то же число, но в несимметричной троичной системе счисления ; 1 i i i i 0 3 S = 177770 3 S = 122220 3 S = + − − − − 0 3 S {\displaystyle 1iiii0_{3S}=177770_{3S}=122220_{3S}=+----0_{3S}} - то же число, но в симметричной троичной системе счисления , знаки «i», «7», «2» и «–» обозначают «-1», знаки «1» и «+» обозначают «+1».

В некоторых специальных областях применяются особые правила указания основания. Например, в программировании шестнадцатеричная система обозначается:

  • в ассемблере и записях общего рода, не привязанных к конкретному языку, буквой h (от h exadecimal) в конце числа (синтаксис Intel);
  • в Паскале знаком «$» в начале числа;
  • в Си и многих других языках комбинацией 0x или 0X (от hex adecimal) в начале.

В некоторых диалектах языка Си по аналогии с «0x» используется префикс «0b» для обозначения двоичных чисел (обозначение «0b» не входит в стандарт ANSI C).

((… (a n − 1 ⋅ b + a n − 2) ⋅ b + a n − 3) …) ⋅ b + a 0 . {\displaystyle ((\ldots (a_{n-1}\cdot b+a_{n-2})\cdot b+a_{n-3})\ldots)\cdot b+a_{0}.}

Например:

101100 2 = = 1 · 2 5 + 0 · 2 4 + 1 · 2 3 + 1 · 2 2 + 0 · 2 1 + 0 · 2 0 = = 1 · 32 + 0 · 16 + 1 · 8 + 1 · 4 + 0 · 2 + 0 · 1 = = 32 + 8 + 4 + 0 = 44 10

Перевод из десятичной системы счисления

Целая часть
  1. Последовательно делить целую часть десятичного числа на основание, пока десятичное число не станет равно нулю.
  2. Полученные при делении остатки являются цифрами нужного числа. Число в новой системе записывают, начиная с последнего остатка.
Дробная часть
  1. Дробную часть десятичного числа умножаем на основание системы, в которую требуется перевести. Отделяем целую часть. Продолжаем умножать дробную часть на основание новой системы, пока она не станет равной 0.
  2. Число в новой системе составляют целые части результатов умножения в порядке, соответствующем их получению.
Пример

44 10 {\displaystyle 44_{10}} переведём в двоичную систему:

44 делим на 2. частное 22, остаток 0 22 делим на 2. частное 11, остаток 0 11 делим на 2. частное 5, остаток 1 5 делим на 2. частное 2, остаток 1 2 делим на 2. частное 1, остаток 0 1 делим на 2. частное 0, остаток 1

Частное равно нулю, деление закончено. Теперь записав все остатки снизу вверх получим число 101100 2 {\displaystyle 101100_{2}}

Перевод из двоичной в восьмеричную и шестнадцатеричную системы

Для этого типа операций существует упрощённый алгоритм.

Для восьмеричной - разбиваем переводимое число на количество цифр, равное степени 2 (2 возводится в ту степень, которая требуется, чтобы получить основание системы, в которую требуется перевести (2³=8), в данном случае 3, то есть триад). Преобразуем триады по таблице триад:

000 0 100 4 001 1 101 5 010 2 110 6 011 3 111 7

Для шестнадцатеричной - разбиваем переводимое число на количество цифр, равное степени 2 (2 возводится в ту степень, которая требуется, чтобы получить основание системы, в которую требуется перевести (2 4 =16), в данном случае 4, то есть тетрад). Преобразуем тетрады по таблице тетрад:

0000 0 0100 4 1000 8 1100 C 0001 1 0101 5 1001 9 1101 D 0010 2 0110 6 1010 A 1110 E 0011 3 0111 7 1011 B 1111 F

Преобразуем 101100 2 восьмеричная - 101 100 → 54 8 шестнадцатеричная - 0010 1100 → 2C 16

Перевод из восьмеричной и шестнадцатеричной систем в двоичную

Для этого типа операций существует упрощённый алгоритм-перевёртыш.

Для восьмеричной - преобразуем по таблице в триплеты

0 000 4 100 1 001 5 101 2 010 6 110 3 011 7 111

Для шестнадцатеричной - преобразуем по таблице в квартеты

0 0000 4 0100 8 1000 C 1100 1 0001 5 0101 9 1001 D 1101 2 0010 6 0110 A 1010 E 1110 3 0011 7 0111 B 1011 F 1111

Преобразуем 54 8 → 101 100 2C 16 → 0010 1100

Перевод из двоичной системы в 8- и 16-ричную

Перевод дробной части из двоичной системы счисления в системы счисления с основаниями 8 и 16 осуществляется точно также, как и для целых частей числа, за тем лишь исключением, что разбивка на октавы и тетрады идёт вправо от десятичной запятой, недостающие разряды дополняются нулями справа. Например, рассмотренное выше число 1100,011 2 будет выглядеть как 14,3 8 или C,6 16 .

Перевод из произвольной системы счисления в десятичную

Рассмотрим пример перевода двоичного числа 1100,011 2 в десятичное. Целая часть этого числа равна 12 (см. выше), а вот перевод дробной части рассмотрим подробнее:

0 , 011 = 0 ⋅ 2 − 1 + 1 ⋅ 2 − 2 + 1 ⋅ 2 − 3 = 0 + 0 , 25 + 0 , 125 = 0 , 375. {\displaystyle 0,011=0\cdot 2^{-1}+1\cdot 2^{-2}+1\cdot 2^{-3}=0+0,25+0,125=0,375.}

Итак, число 1100,011 2 = 12,375 10 .

Точно также осуществляется перевод из любой системы счисления, только вместо «2» ставится основание системы.

Для удобства перевода, целую и дробную части числа переводят отдельно, а результат потом конкатенируют.

Перевод из десятичной системы в произвольную

Для перевода дробной части числа в другие системы счисления нужно обратить целую часть в нуль и начать умножение получившегося числа на основание той системы, в которую нужно перевести. Если в результате умножения будут снова появляться целые части, их нужно повторно обращать в нуль, предварительно запомнив (записав) значение получившейся целой части. Операция заканчивается, когда дробная часть полностью обратится в нуль. Ниже приводится пример перевода числа 103,625 10 в двоичную систему счисления.

Переводим целую часть по правилам, описанным выше, получаем 103 10 = 1100111 2 .

0,625 умножаем на 2. Дробная часть 0,250. Целая часть 1. 0,250 умножаем на 2. Дробная часть 0,500. Целая часть 0. 0,500 умножаем на 2. Дробная часть 0,000. Целая часть 1.

Итак, сверху вниз получаем число 101 2 . Поэтому 103,625 10 = 1100111,101 2

Точно также осуществляется перевод в системы счисления с любым основанием.

Сразу нужно отметить, что этот пример специально подобран, в общем случае очень редко удаётся завершить перевод дробной части числа из десятичной системы в другие системы счисления, а потому, в подавляющем большинстве случаев, перевод можно осуществить с какой либо долей погрешности. Чем больше знаков после запятой - тем точнее приближение результата перевода к истине. В этих словах легко убедиться, если попытаться, например, перевести в двоичный код число 0,626.

Вариации и обобщения

Запись рациональных чисел

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

Симметричные (уравновешенные, знакоразрядные) системы счисления отличаются тем, что используют цифры не из множества { 0 , 1 , … , b − 1 } {\displaystyle \{0,1,\ldots ,b-1\}} , а из множества { 0 − (b − 1 2) , 1 − (b − 1 2) , … , (b − 1) − (b − 1 2) } {\displaystyle \left\{0-\left({\tfrac {b-1}{2}}\right),1-\left({\tfrac {b-1}{2}}\right),\ldots ,(b-1)-\left({\tfrac {b-1}{2}}\right)\right\}} . Чтобы цифры были целыми, нужно, чтобы b {\displaystyle b} было нечётным. В симметричных системах счисления не требуется дополнительных обозначений для знака числа. Кроме того, вычисления в симметричных системах удобны тем, что не требуется особых правил округления - оно сводится к простому отбрасыванию лишних разрядов, что резко уменьшает систематические ошибки вычислений.

Чаще всего используется симметричная троичная система счисления с цифрами { − 1 , 0 , 1 } {\displaystyle \{-1,0,1\}} . Она применяется в троичной логике и была технически реализована в вычислительной машине «Сетунь ».

Отрицательные основания

Существуют позиционные системы с отрицательными основаниями, называемые нега-позиционными :

  • -2 - нега-двоичная система счисления
  • -3 - нега-троичная система счисления
  • -10 - нега-десятичная система счисления

Нецелочисленные основания

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

Примерами таких систем счисления являются:

Комплексные основания

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

В частности, среди позиционных систем счисления с комплексными основаниями можно выделить двоичные, в которых используются лишь две цифры 0 и 1.

Примеры

Далее будем записывать позиционную систему счисления в следующем виде ⟨ ρ , A ⟩ {\displaystyle \langle \rho ,A\rangle } , где ρ {\displaystyle \rho } - основание системы счисления, а A - множество цифр. В частности, множество A может иметь вид:

Примерами систем счисления с комплексными основаниями являются (далее j - мнимая единица):

  • ⟨ ρ = j R , B R ⟩ . {\displaystyle \langle \rho =j{\sqrt {R}},B_{R}\rangle .}
  • ⟨ ρ = 2 e ± j π / 2 , B 2 ⟩ . {\displaystyle \langle \rho ={\sqrt {2}}e^{\pm j\pi /2},B_{2}\rangle .}
  • ⟨ ρ = 2 e j π / 3 , { 0 , 1 , e 2 j π / 3 , e − 2 j π / 3 } ⟩ ; {\displaystyle \langle \rho =2e^{j\pi /3},\{0,1,e^{2j\pi /3},e^{-2j\pi /3}\}\rangle ;}
  • ⟨ ρ = R , B R ⟩ , {\displaystyle \langle \rho ={\sqrt {R}},B_{R}\rangle ,} где φ = ± arccos ⁡ (− β / 2 R) {\displaystyle \varphi =\pm \arccos {(-\beta /2{\sqrt {R}})}} , β < min { R , 2 R } {\displaystyle \beta <\min\{R,2{\sqrt {R}}\}} - целое положительное число, которое может принимать несколько значений при данном R ;
  • ⟨ ρ = − R , A R 2 ⟩ , {\displaystyle \langle \rho =-R,A_{R}^{2}\rangle ,} где множество A R 2 {\displaystyle A_{R}^{2}} состоит из комплексных чисел вида r m = α m 1 + j α m 2 {\displaystyle r_{m}=\alpha _{m}^{1}+j\alpha _{m}^{2}} , а числа α m ∈ B R . {\displaystyle \alpha _{m}\in B_{R}.} Например: ⟨ − 2 , { 0 , 1 , j , 1 + j } ⟩ ; {\displaystyle \langle -2,\{0,1,j,1+j\}\rangle ;}

Основные понятия систем счисления

Система счисления - это совокупность правил и приемов записи чисел с помощью набора цифровых знаков. Количество цифр, необходимых для записи числа в системе, называют основанием системы счисления. Основание системы записывается в справа числа в нижнем индексе: ; ; и т. д.

Различают два типа систем счисления:

позиционные, когда значение каждой цифры числа определяется ее позицией в записи числа;

непозиционные, когда значение цифры в числе не зависит от ее места в записи числа.

Примером непозиционной системы счисления является римская: числа IX, IV, XV и т.д. Примером позиционной системы счисления является десятичная система, используемая повседневно.

Любое целое число в позиционной системе можно записать в форме многочлена:

где S - основание системы счисления;

Цифры числа, записанного в данной системе счисления;

n - количество разрядов числа.

Пример. Число запишется в форме многочлена следующим образом:

Виды систем счисления

Римская система счисления является непозиционной системой. В ней для записи чисел используются буквы латинского алфавита. При этом буква I всегда означает единицу, буква - V пять, X - десять, L - пятьдесят, C - сто, D - пятьсот, M - тысячу и т.д. Например, число 264 записывается в виде CCLXIV. При записи чисел в римской системе счисления значением числа является алгебраическая сумма цифр, в него входящих. При этом цифры в записи числа следуют, как правило, в порядке убывания их значений, и не разрешается записывать рядом более трех одинаковых цифр. В том случае, когда за цифрой с большим значением следует цифра с меньшим, ее вклад в значение числа в целом является отрицательным. Типичные примеры, иллюстрирующие общие правила записи чисел в римской система счисления, приведены в таблице.

Таблица 2. Запись чисел в римской системе счисления

III

VII

VIII

XIII

XVIII

XIX

XXII

XXXIV

XXXIX

XCIX

200

438

649

999

1207

CDXXXVIII

DCXLIX

CMXCIX

MCCVII

2045

3555

3678

3900

3999

MMXLV

MMMDLV

MMMDCLXXVIII

MMMCM

MMMCMXCIX

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

Десятичня система счисления – в настоящее время наиболее известная и используемая. Изобретение десятичной системы счисления относится к главным достижениям человеческой мысли. Без нее вряд ли могла существовать, а тем более возникнуть современная техника. Причина, по которой десятичная система счисления стала общепринятой, вовсе не математическая. Люди привыкли считать в десятичной системе счисления, потому что у них по 10 пальцев на руках.

Древнее изображение десятичных цифр (рис. 1) не случайно: каждая цифра обозначает число по количеству углов в ней. Например, 0 - углов нет, 1 - один угол, 2 - два угла и т.д. Написание десятичных цифр претерпело существенные изменения. Форма, которой мы пользуемся, установилась в XVI веке.

Десятичная система впервые появилась в Индии примерно в VI веке новой эры. Индийская нумерация использовала девять числовых символов и нуль для обозначения пустой позиции. В ранних индийских рукописях, дошедших до нас, числа записывались в обратном порядке - наиболее значимая цифра ставилась справа. Но вскоре стало правилом располагать такую цифру с левой стороны. Особое значение придавалось нулевому символу, который вводился для позиционной системы обозначений. Индийская нумерация, включая нуль, дошла и до нашего времени. В Европе индусские приёмы десятичной арифметики получили распространение в начале ХIII в. благодаря работам итальянского математика Леонардо Пизанского (Фибоначчи). Европейцы заимствовали индийскую систему счисления у арабов, назвав ее арабской. Это исторически неправильное название удерживается и поныне.

Десятичная система использует десять цифр – 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9, а также символы “+” и “–” для обозначения знака числа и запятую или точку для разделения целой и дробной частей числа.

В вычислительных машинах используется двоичная система счисления, её основание - число 2. Для записи чисел в этой системе используют только две цифры - 0 и 1. Вопреки распространенному заблуждению, двоичная система счисления была придумана не инженерами-конструкторами ЭВМ, а математиками и философами задолго до появления компьютеров, еще в ХVII - ХIХ веках. Первое опубликованное обсуждение двоичной системы счисления принадлежит испанскому священнику Хуану Карамюэлю Лобковицу (1670 г.). Всеобщее внимание к этой системе привлекла статья немецкого математика Готфрида Вильгельма Лейбница, опубликованная в 1703 г. В ней пояснялись двоичные операции сложения, вычитания, умножения и деления. Лейбниц не рекомендовал использовать эту систему для практических вычислений, но подчёркивал её важность для теоретических исследований. Со временем двоичная система счисления становится хорошо известной и получает развитие.

Выбор двоичной системы для применения в вычислительной технике объясняется тем, что электронные элементы - триггеры, из которых состоят микросхемы ЭВМ, могут находиться только в двух рабочих состояниях.

С помощью двоичной системы кодирования можно зафиксировать любые данные и знания. Это легко понять, если вспомнить принцип кодирования и передачи информации с помощью азбуки Морзе. Телеграфист, используя только два символа этой азбуки - точки и тире, может передать практически любой текст.

Двоичная система удобна для компьютера, но неудобна для человека: числа получаются длинными и их трудно записывать и запоминать. Конечно, можно перевести число в десятичную систему и записывать в таком виде, а потом, когда понадобится перевести обратно, но все эти переводы трудоёмки. Поэтому применяются системы счисления, родственные двоичной - восьмеричная и шестнадцатеричная. Для записи чисел в этих системах требуется соответственно 8 и 16 цифр. В 16-теричной первые 10 цифр общие, а дальше используют заглавные латинские буквы. Шестнадцатеричная цифра A соответствует десятеричному числу 10, шестнадцатеричная B – десятичному числу 11 и т. д. Использование этих систем объясняется тем, что переход к записи числа в любой из этих систем от его двоичной записи очень прост. Ниже приведена таблица соответствия чисел, записанных в разных системах.

Таблица 3. Соответствие чисел, записанных в различных системах счисления

Десятичная

Двоичная

Восьмеричная

Шестнадцатеричная

001

010

011

100

101

110

111

1000

1001

1010

1011

1100

1101

D http://viagrasstore.net/generic-viagra-soft/

1110

1111

10000

Правила перевода чисел из одной системы счисления в другую

Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.

1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней двойки:

Таблица 4. Степени числа 2

n (степень)

1024

Пример. Число перевести в десятичную систему счисления.

2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней восьмерки:

Таблица 5. Степени числа 8

n (степень)

На ранних ступенях развития общества люди почти не умели считать. Они различали совокупности двух и трех предметов; всякая совокупность, содержавшая бóльшее число предметов, объединялась в понятии «много». Предметы при счете сопоставлялись обычно с пальцами рук и ног. По мере развития цивилизации потребность человека в счете стала необходимой. Первоначально натуральные числа изображались с помощью некоторого количества черточек или палочек, затем для их изображения стали использовать буквы или специальные знаки. В древнем Новгороде использовалась славянская система, где применялись буквы славянского алфавита; при изображении чисел над ними ставился знак ~ (титло).

Древние римляне пользовались нумерацией, сохраняющейся до настоящего времени под именем «римской нумерации», в которой числа изображаются буквами латинского алфавита. Сейчас ею пользуются для обозначения юбилейных дат, нумерации некоторых страниц книги (например, страниц предисловия), глав в книгах, строф в стихотворениях и т.д. В позднейшем своем виде римские цифры выглядят так:

I = 1; V = 5; X = 10; L = 50; С = 100; D = 500; M = 1000.

О происхождении римских цифр достоверных сведений нет. Цифра V могла первоначально служить изображением кисти руки, а цифра Х могла составиться из двух пятерок. В римской нумерации явственно сказываются следы пятеричной системы счисления. Все целые числа (до 5000) записываются с помощью повторения вышеприведенных цифр. При этом, если бóльшая цифра стоит перед меньшей, то они складываются, если же меньшая стоит перед бóльшей (в этом случае она не может повторяться), то меньшая вычитается из бóльшей). Например, VI = 6, т.е. 5 + 1, IV = 4, т.е. 5 – 1, XL = 40, т е. 50 – 10, LX = 60, т.е. 50 + 10. Подряд одна и та же цифра ставится не более трех раз: LXX = 70; LXXX = 80; число 90 записывается ХС (а не LXXXX).

Первые 12 чисел записываются в римских цифрах так:

I, II, III, IV, V, VI, VII, VIII. IX, X, XI, XII.

Другие же числа записываются, например, как:

XXVIII = 28; ХХХIХ = 39; CCCXCVII = 397; MDCCCXVIII = 1818.

Выполнение арифметических действий над многозначными числами в этой записи очень трудно. Тем не менее, римская нумерация преобладала в Италии до 13 в., а в других странах Западной Европы – до 16 в.

В славянской системе нумерации для записи чисел использовались все буквы алфавита, правда, с некоторым нарушением алфавитного порядка. Различные буквы означали различное количество единиц, десятков и сотен. Например, число 231 записывалось в виде ~ СЛА (C – 200, Л – 30, А – 1).

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

Более удобной и общепринятой и наиболее распространенной является десятичная система счисления, которая была изобретена в Индии, заимствована там арабами и затем через некоторое время пришла в Европу. В десятичной системе счисления основанием является число 10.

Существовали системы исчисления и с другими основаниями. В Древнем Вавилоне, например, применялась шестидесятеричная система счисления. Остатки ее мы находим в сохранившемся до сих пор делении часа или градуса на 60 минут, а минуты – на 60 секунд.

Широкое распространение имела в древности и двенадцатеричная система, происхождение которой, вероятно, связано, как и десятичной системы, со счетом на пальцах: за единицу счета принимались фаланги (отдельные суставы) четырех пальцев одной руки, которые при счете перебирались большим пальцем той же руки. Остатки этой системы счисления сохранились и до наших дней и в устной речи, и в обычаях. Хорошо известно, например, название единицы второго разряда – числа 12 – «дюжина». Сохранился обычай считать многие предметы не десятками, а дюжинами, например, столовые приборы в сервизе или стулья в мебельном гарнитуре. Название единицы третьего разряда в двенадцатеричной системе – гросс – встречается теперь редко, но в торговой практике начала столетия оно еще бытовало. Например, в написанном в 1928 стихотворении Плюшкин В.В.Маяковский, высмеивая людей, скупающих все подряд, писал: «...укупил двенадцать гроссов дирижерских палочек». У ряда африканских племен и в Древнем Китае была употребительна пятеричная система счисления. В Центральной Америке (у древних ацтеков и майя) и среди населявших Западную Европу древних кельтов была распространена двадцатеричная система. Все они также связаны со счетом на пальцах.

Самой молодой системой счисления по праву можно считать двоичную. Эта система обладает рядом качеств, делающей ее очень выгодной для использования в вычислительных машинах и в современных компьютерах.

Позиционные и непозиционные системы счисления.

Разнообразные системы счисления, которые существовали раньше и которые используются в наше время, можно разделить на непозиционные и позиционные. Знаки, используемые при записи чисел, называются цифрами.

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

В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией. Первая известная нам система, основанная на позиционном принципе – шестидесятeричная вавилонская. Цифры в ней были двух видов, одним из которых обозначались единицы, другим – десятки.

Однако наиболее употребительной оказалась индо-арабская десятичная система. Индийцы первыми использовали ноль для указания позиционной значимости величины в строке цифр. Эта система получила название десятичной, так как в ней десять цифр.

Различие между позиционой и непозиционной систем счисления легче всего понять на примере сравнения двух чисел. В позиционной системе счисления сравнение двух чисел происходит следующим образом: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Бóльшая цифра соответствует бóльшему значению числа. Например, для чисел 123 и 234, 1 меньше 2, поэтому число 234 больше, чем число 123. В непозиционной системе счисления это правило не действует. Примером этого может служить сравнение двух чисел IX и VI. Несмотря на то, что I меньше, чем V, число IX больше, чем число VI.

Позиционные системы счисления.

Основание системы счисления, в которой записано число, обычно обозначается нижним индексом. Например, 555 7 – число, записанное в семеричной системе счисления. Если число записано в десятичной системе, то основание, как правило, не указывается. Основание системы – это тоже число, и его мы будем указывать в обычной десятичной системе. Вообще, число x может быть представлено в системе с основанием p , как x = a n ·p n +a n – 1·p n –1 + a p 1 + a p 0, где a n ...a 0 – цифры в представлении данного числа. Так, например,

1035 10 =1·10 3 + 0·10 2 + 3·10 1 + 5·10 0 ;

1010 2 = 1·2 3 + 0·2 2 + 1·2 1 + 0·2 0 = 10.

Наибольший интерес при работе на ЭВМ представляют системы счисления с основаниями 2, 8 и 16. Вообще говоря, этих систем счисления обычно хватает для полноценной работы как человека, так и вычислительной машины, однако иногда в силу различных обстоятельств все-таки приходится обращаться к другим системам счисления, например к троичной, семеричной или системе счисления по основанию 32.

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

Почему же не используются другие системы счисления? В основном, потому, что в повседневной жизни люди привыкли пользоваться десятичной системой счисления, и не требуется никакая другая. В вычислительных же машинах используется двоичная система счисления, так как оперировать числами, записанными в двоичном виде, довольно просто.

Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно короче записи чисел в двоичной системе. Может возникнуть вопрос: почему бы не использовать для записи очень больших чисел систему счисления, например по основанию 50? Для такой системы счисления необходимы 10 обычных цифр плюс 40 знаков, которые соответствовали бы числам от 10 до 49 и вряд ли кому-нибудь понравится работать с этими сорока знаками. Поэтому в реальной жизни системы счисления по основанию, большему 16, практически не используются.

Перевод чисел из одной системы счисления в другую.

Наиболее часто встречающиеся системы счисления – это двоичная, шестнадцатеричная и десятичная. Как же связаны между собой представления числа в различных системах счисления? Есть различные способы перевода чисел из одной системы счисления в другую на конкретных примерах.

Пусть нужно перевести число 567 из десятичной в двоичную систему. Сначала определяется максимальная степень двойки, такая, чтобы два в этой степени было меньше или равно исходному числу. В данном случае это 9, т.к. 2 9 = 512, а 2 10 = 1024, что больше начального числа. Таким образом получается число разрядов результата, оно равно 9 + 1 = 10, поэтому результат будет иметь вид 1ххххххххх , где вместо х могут стоять любые двоичные цифры. Вторая цифра результата находится так – двойка возводится в степень 9 и вычитается из исходного числа: 567 – 2 9 = 55. Остаток сравнивается с числом 2 8 = 256. Так как 55 меньше 256, то девятый разряд – нуль, т.е. результат имеет вид 10хххххххх . Рассмотрим восьмой разряд. Так как 2 7 = 128 > 55, то и он будет нулевым.

Седьмой разряд также оказывается нулевым. Искомая двоичная запись числа принимает вид 1000хххххх . 2 5 = 32 ххххх). Для остатка 55 – 32 = 23 справедливо неравенство 2 4 = 16

567 = 1·2 9 + 0·2 8 + 0·2 7 + 0·2 6 + 1·2 5 + 1·2 4 + 0·2 3 + 1·2 2 + 1·2 1 + 1·2 0

При другом способе перевода чисел используется операция деления в столбик. Если взять то же число 567 и разделить его на 2, получается частное 283 и остаток 1. Та же операция производится и с числом 283. Частное – 141, остаток – 1. Опять полученное частное делится на 2 и так до тех пор, пока частное не станет меньше делителя. Теперь, чтобы получить число в двоичной системе счисления, достаточно записать последнее частное, т.е. 1, и приписать к нему в обратном порядке все полученные в процессе деления остатки.

Результат, естественно, не изменился: 567 в двоичной системе счисления записывается как 1 000 110 111.

Эти два способа применимы при переводе числа из десятичной системы в систему с любым основанием. Например, при переводе числа 567 в систему счисления с основанием 16 число сначала разлагается по степеням основания. Искомое число состоит из трех цифр, т.к. 16 2 = 256 хх, где вместо х могут стоять любые шестнадцатеричные цифры. Остается распределить по следующим разрядам число 55 (567 – 512). 3·16 = 48

Второй способ состоит в последовательном делении в столбик, с единственным отличием в том, что делить надо не на 2, а на 16, и процесс деления заканчивается, когда частное становится строго меньше 16.

Конечно, для записи числа в шестнадцатеричной системе счисления, необходимо заменить 10 на A, 11 на B и так далее.

Операция перевода в десятичную систему выглядит гораздо проще, так как любое десятичное число можно представить в виде x = a p n + a p n –1 +... + a n –1·p 1 + a n ·p 0, где a 0 ... a n – это цифры данного числа в системе счисления с основанием p .

Например,так можно перевести число 4A3F в десятичную систему. По определению, 4A3F= 4·16 3 + A·16 2 + 3·16 + F. При замене A на 10, а F на 15, получается 4·16 3 + 10·16 2 + 3·16 + 15= 19007.

Проще всего переводить числа из двоичной системы в системы с основанием, равным степеням двойки (8 и 16), и наоборот. Для того чтобы целое двоичное число записать в системе счисления с основанием 2 n , нужно данное двоичное число разбить справа налево на группы по n -цифр в каждой; если в последней левой группе окажется меньше n разрядов, то дополнить ее нулями до нужного числа разрядов; рассмотреть каждую группу, как n -разрядное двоичное число, и заменить ее соответствующей цифрой в системе счисления с основанием 2 n .

Таблица 1. Двоично-шестнадцатеричная таблица
Таблица 1. ДВОИЧНО-ШЕСТНАДЦАТЕРИЧНАЯ ТАБЛИЦА
2-ная 0000 0001 0010 0011 0100 0101 0110 0111
16-ная 0 1 2 3 4 5 6 7
2-ная 1000 1001 1010 1011 1100 1101 1110 1111
16-ная 8 9 A B C D E F

Известный французский астроном, математик и физик Пьер Симон Лаплас (1749–1827) писал об историческом развитии систем счисления, что «Мысль выражать все числа девятью знаками, придавая им, кроме значения по форме, еще значение по месту, настолько проста, что именно из-за этой простоты трудно понять, насколько она удивительна. Как нелегко было прийти к этому методу, мы видим на примере величайших гениев греческой учености Архимеда и Аполлония, от которых эта мысль осталась скрытой.»

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

Анна Чугайнова