Десятичная система счисления

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Шаблон:Системы счисления Десяти́чная систе́ма счисле́ния — позиционная система счисления по целочисленному основанию 10. Одна из наиболее распространённых систем. В ней используются цифры 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, называемые арабскими цифрами. Предполагается, что основание 10 связано с количеством пальцев на руках у человека.

Определение

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

Целое число x в десятичной системе счисления представляется в виде конечной линейной комбинации степеней числа 10:

<math>x = \pm \sum_{k=0}^{n-1} a_k 10^k</math>, где <math>\ a_k</math> — это целые числа, называемые цифрами, удовлетворяющие неравенству <math>0 \leq a_k \le 9.</math>

Обычно для ненулевого числа x требуют, чтобы старшая цифра <math>a_{n-1}</math> в десятичном представлении x была также ненулевой.

Например, число сто три представляется в десятичной системе счисления в виде:

<math> 103 = 1 \cdot 10^{2} + 0 \cdot 10^{1} + 3 \cdot 10^{0}.</math>

С помощью n позиций в десятичной системе счисления можно записать целые числа от 0 до <math>10^n-1</math>, то есть, всего <math>10^n</math> различных чисел.

Дробные числа записываются в виде строки цифр с разделителем десятичная запятая, называемой десятичной дробью:

<math>a_{n-1} a_{n-2}\dots a_{1} a_{0},a_{-1} a_{-2}\dots a_{-(m-1)} a_{-m} = \sum_{k=-m}^{n-1} a_k 10^k,</math>

где n — число разрядов целой части числа, m — число разрядов дробной части числа.

Двоично-десятичное кодирование

В двоичных компьютерах применяют двоично-десятичное кодирование десятичных цифр, при этом для одной двоично-десятичной цифры отводится четыре двоичных разряда (двоичная тетрада). Двоично-десятичные числа требуют большего количества битов для своего хранения<ref>«AS-Level Computing» 5th edition — P. M. (Pat M.) Heathcote, S. Langfield — 2004—224 pages — Page 18: «A disadvantage of using BSD is that more bits are required to store a number than when using pure binary.» [1] Шаблон:Wayback ISBN 1-904467-71-7</ref>. Так, четыре двоичных разряда имеют 16 состояний, и при двоично-десятичном кодировании 6 из 16 состояний двоичной тетрады не используются<ref>Schaum’s outline of theory and problems of essential computer mathematics By Seymour Lipschutz, McGraw-Hill. 1987. «Remark: Any 4-bit code allows 2^4 = 16 combinations. Because the 4-bit BCD codes need only 10 of the combinations … 6 combinations remains available» [2] Шаблон:Wayback ISBN 0-07-037990-4</ref>.

Таблица сложения в десятичной системе счисления

+ 0 1 2 3 4 5 6 7 8 9
0 0 1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9 10
2 2 3 4 5 6 7 8 9 10 11
3 3 4 5 6 7 8 9 10 11 12
4 4 5 6 7 8 9 10 11 12 13
5 5 6 7 8 9 10 11 12 13 14
6 6 7 8 9 10 11 12 13 14 15
7 7 8 9 10 11 12 13 14 15 16
8 8 9 10 11 12 13 14 15 16 17
9 9 10 11 12 13 14 15 16 17 18

Таблица умножения в десятичной системе счисления

× 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9
2 0 2 4 6 8 10 12 14 16 18
3 0 3 6 9 12 15 18 21 24 27
4 0 4 8 12 16 20 24 28 32 36
5 0 5 10 15 20 25 30 35 40 45
6 0 6 12 18 24 30 36 42 48 54
7 0 7 14 21 28 35 42 49 56 63
8 0 8 16 24 32 40 48 56 64 72
9 0 9 18 27 36 45 54 63 72 81

Десятичные функции

Десятичной функцией в теории функциональных систем и в десятичной логике называют функцию типа <math>\mathsf{D}^n\to\mathsf{D}</math>, где <math>\mathsf{D}=\{0,1,2,3,4,5,6,7,8,9\}</math> — десятичное множество, а <math>\ n</math> — неотрицательное целое число, которое называют арностью или местностью функции. См. также двоичные логические функции.

Для бинарных (двухаргументных, двухоперандных, двухвходовых) десятичных логических функций с бинарным (двухразрядным) результатом (2 децита → 2 децита) всего существует <math>10^{(10^m)*n}=10^{(10^2)*2}=10^{100*2}=10^{200}</math> простейших функций, где m — количество аргументов функции (входная «-арность»), а n — количество результатов действия функции (выходная «-арность»), что больше всех больших чисел Дирака вместе взятых и числа Шеннона (оценочное минимальное количество неповторяющихся шахматных партий, вычисленное в 1950 году американским математиком Клодом Шенноном, составляет приблизительно <math>10^{120}</math>) впридачу. Всего существует <math>10^{(10^2)}=10^{100}</math> простейших бинарных с унарным (одноразрядным) результатом десятичных логических функций (2 децита → 1 децит).

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

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


Шаблон:Начало скрытого блока <source lang="basic"> 'Half Adder Decimal Single-Digit CLS DATA 0,1,2,3,4,5,6,7,8,9 DATA 1,2,3,4,5,6,7,8,9,0 DATA 2,3,4,5,6,7,8,9,0,1 DATA 3,4,5,6,7,8,9,0,1,2 DATA 4,5,6,7,8,9,0,1,2,3 DATA 5,6,7,8,9,0,1,2,3,4 DATA 6,7,8,9,0,1,2,3,4,5 DATA 7,8,9,0,1,2,3,4,5,6 DATA 8,9,0,1,2,3,4,5,6,7 DATA 9,0,1,2,3,4,5,6,7,8

DATA 0,0,0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,0,0,0,0,1 DATA 0,0,0,0,0,0,0,0,1,1 DATA 0,0,0,0,0,0,0,1,1,1 DATA 0,0,0,0,0,0,1,1,1,1 DATA 0,0,0,0,0,1,1,1,1,1 DATA 0,0,0,0,1,1,1,1,1,1 DATA 0,0,0,1,1,1,1,1,1,1 DATA 0,0,1,1,1,1,1,1,1,1 DATA 0,1,1,1,1,1,1,1,1,1

DEFINT I,J,F,A,B FOR I=0 TO 9

 FOR J=0 TO 9
   READ F2DSM[I,J]  'Function 2-argument Decimal Summ Mod 10 NonSymmetric
 NEXT J

NEXT I FOR I=0 TO 9

 FOR J=0 TO 9
   READ F2DC[I,J]   'Function 2-argument Decimal Carry Summ 10 NonSymmetric
 NEXT J

NEXT I

A=9 B=9 PRINT USING "#";A; PRINT " + "; PRINT USING "# = ";B; PRINT USING "#";F2DC[A,B]; PRINT USING "#";F2DSM[A,B] END </source> Шаблон:Конец скрытого блока

Шаблон:Начало скрытого блока <source lang="basic"> 'Multiplier Decimal Single-Digit CLS DATA 0,0,0,0,0,0,0,0,0,0 DATA 0,1,2,3,4,5,6,7,8,9 DATA 0,2,4,6,8,0,2,4,6,8 DATA 0,3,6,9,2,5,8,1,4,7 DATA 0,4,8,2,6,0,4,8,2,6 DATA 0,5,0,5,0,5,0,5,0,5 DATA 0,6,2,8,4,0,6,2,8,4 DATA 0,7,4,1,8,5,2,9,6,3 DATA 0,8,6,4,2,0,8,6,4,2 DATA 0,9,8,7,6,5,4,3,2,1

DATA 0,0,0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,0,0,0,0,0 DATA 0,0,0,0,0,1,1,1,1,1 DATA 0,0,0,0,1,1,1,2,2,2 DATA 0,0,0,1,1,2,2,2,3,3 DATA 0,0,1,1,2,2,3,3,4,4 DATA 0,0,1,1,2,3,3,4,4,5 DATA 0,0,1,2,2,3,4,4,5,6 DATA 0,0,1,2,3,4,4,5,6,7 DATA 0,0,1,2,3,4,5,6,7,8

DEFINT I,J,F,A,B FOR I=0 TO 9

 FOR J=0 TO 9
   READ F2DMULT1[I,J]  'Function 2-argument Decimal Multiplier NonSymmetric 1-st Digit
 NEXT J

NEXT I FOR I=0 TO 9

 FOR J=0 TO 9
   READ F2DMULT2[I,J]   'Function 2-argument Decimal Multipliqer NonSymmetric 2-nd Digit
 NEXT J

NEXT I

A=9 B=9 PRINT USING "#";A; PRINT " x "; PRINT USING "# = ";B; PRINT USING "#";F2DMULT2[A,B]; PRINT USING "#";F2DMULT1[A,B] END </source> Шаблон:Конец скрытого блока

История

Десятичная непозиционная система счисления с единичным кодированием десятичных цифр (от 1 до 1 000 000) возникла во второй половине третьего тысячелетия до н. э. в Древнем Египте (египетская система счисления).

В другой великой цивилизации — вавилонской с её шестидесятеричной системой — за две тысячи лет до н. э. внутри позиционных шестидесятеричных разрядов использовалась непозиционная (аддитивная) десятичная система счисления с единичным кодированием десятичных цифр<ref>Шаблон:Cite web</ref>. Египетская десятичная система повлияла на аналогичную систему в первых европейских системах письма, таких как критские иероглифы, линейное письмо А и линейное письмо Б.

Древнейшая известная запись позиционной десятичной системы обнаружена в Индии в 595 г. Нуль в то время применялся не только в Индии, но и в Китае. В этих старинных системах для записи одинакового числа использовались символы, рядом с которыми дополнительно помечали, в каком разряде они стоят. Потом перестали помечать разряды, но число всё равно можно прочитать, так как у каждого разряда есть своя позиция. А если позиция пустая, её нужно пометить нулём. В поздних вавилонских текстах такой знак стал появляться, но в конце числа его не ставили. Лишь в Индии нуль окончательно занял своё место, эта запись распространилась затем по всему миру.

Индийская нумерация пришла сначала в арабские страны, затем и в Западную Европу. О ней рассказал среднеазиатский математик аль-Хорезми. Простые и удобные правила сложения и вычитания чисел, записанных в позиционной системе, сделали её особенно популярной. А поскольку труд аль-Хорезми был написан на арабском, то за индийской нумерацией в Европе закрепилось иное название — «арабская» (арабские цифры).

Кипу инков

Прообразом баз данных, широко использовавшихся в Центральных Андах (Перу, Боливия) в государственных и общественных целях в I—II тысячелетии н. э., была узелковая письменность Инков — кипу, состоявшая как из числовых записей десятичной системы<ref>Шаблон:Книга</ref>, так и не числовых записей в двоичной системе кодирования<ref>Шаблон:Cite web</ref>. В кипу применялись первичные и дополнительные ключи, позиционные числа, кодирование цветом и образование серий повторяющихся данных<ref>Шаблон:Книга</ref><ref>Шаблон:Книга</ref>. Кипу впервые в истории человечества использовалось для применения такого способа ведения бухгалтерского учёта, как двойная запись<ref name=autogenerated1>Шаблон:Статья</ref>.

Преимущества десятичной позиционной системы

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

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

Наименование степеней десяти

В стандартной десятичной системе счисления для именования больших чисел используются именные названия степеней тысячи, такие как миллион (1 000 000) и миллиард (1 000 000 000). Промежуточные степени десяти образуются прибавлением слов десять или сто, например десять миллионов (10 000 000) и сто миллиардов (100 000 000 000); другие промежуточные количества образуются прибавлением к именным названиям степеней тысячи числительных до тысячи, например сто двадцать семь миллионов (127 000 000). Для биллиона и следующих числительных есть два возможных значения: в короткой шкале каждая очередная именованная единица содержит 1000 предыдущих, а в длинной — миллион; так, биллион, следующий за миллионом, может означать как 109, так и 1012.

Степени десяти в Индии

В Индии используется альтернативный способ именованию степеней десяти, основанный на устаревшей ведической системе счисления с основанием 100, согласно которой собственные названия имеют 103, 105 и следующие степени десяти через один, а промежуточные образуются прибавлением числительного десять. Система была официально утверждена в 1987 году и исправлена в 2002 году<ref>Шаблон:Книга</ref>.

Число Ведическая Индийская Стандартная (короткая шкала)
103 хазар хазар тысяча
104 десять хазар десять хазаров десять тысяч
105 лакх лакх сто тысяч
106 ниют десять лакхов миллион
107 крор крор десять миллионов
108 рибурдх десять кроров сто миллионов
109 вранд араб миллиард (биллион)
1010 кхараб десять арабов десять миллиардов
1011 ни-кхараб кхараб сто миллиардов
1012 шанкх десять кхарабов триллион

При записи чисел в индийской системе разделители размещаются в соответствии с этими наименованиями степеней: например, число, записываемое в стандартной системе как 50 801 592, в индийской будет иметь вид будет 5 08 01 592<ref name="nroer">Шаблон:Cite web</ref>. Названия лакх и крор используются в индийском диалекте английского языка (Шаблон:Lang-en2), хинди (Шаблон:Lang-hi2 lākh, Шаблон:Lang-hi2 karod) и других языках Южной Азии.

Применение

См. также

Примечания

Шаблон:Примечания

Литература

Ссылки