Системы счисления. Малый математический факультет

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

Определения

Позиционная система счисления определяется целым числом 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 ;}

Лабораторная работа 1. «Системы счисления»

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

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

Две первые представляют скорее исторический интерес, поскольку имеют весьма ограниченное применение в настоящее время.

Унарная система счисления

Унарная система счисления – это система счисления, в которой для записи чисел используется только один знак – 1 («палочка»).

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

Именно такая система применяется для начального обучения счету детей (можно вспомнить «счетные палочки»).

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

Непозиционные система счисления

Непозиционная система счисления - система, в которой символы, обозначающие то или иное количество, не меняют сво­его значения в зависимости от местоположения (позиции) в изоб­ражении числа.

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

В ней некоторые базовые числа обозначены заглавными латинскими буквами:

1 – I, 5 – V, 10 – X, 50 – L , 100 – C, 500 – D, 1000 – M.

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

    если цифра слева меньше, чем цифра справа, то левая цифра вычитается из правой;

    если цифра справа меньше или равна цифре слева, то эти цифры складываются;

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

Наконец, отсутствие нуля и знаков для чисел больше M не позволяют римскими цифрами записать любое число (хотя бы натуральное). Используется эта система для нумерации.

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

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

Упорядоченный набор символов (цифр) 0 , a v ..., а п ), используемый для представления любых чисел в заданной позиционной си­стеме счисления, называют ееалфавитом, число символов (цифр)алфавита р = п + 1 - ее основанием, а саму систему счисления называютр -ричной.

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

Самой привычной для нас является десятичная система счисле­ния. Ее алфавит - {0, 1, 2, 3, 4, 5, б, 7, 8, 9}, а основание р = 10, т. е. в этой системе для записи любых чисел используется только десятьразных символов (цифр). Десятичная система счисления основана на том, что 10 единиц каж­дого разряда объединяются в одну единицу соседнего старшего разряда, поэтому каждый разряд имеет вес, равный степени 10. Сле­довательно, значение одной и той же цифры определяется ее местоположением в изображении числа, характеризуемым степенью числа 10. Например, в изображении числа 222.22 цифра 2 повторяется5 раз, при этом первая слева цифра 2 означает количество сотен (ее вес равен 10 2); вторая - количество десятков (ее вес равен 10 1), третья - количество единиц (ее вес равен 10 0), четвертая - количество десятых долей единицы (ее вес равен 10 -1) и пятая цифра - количество сотых долей единицы (ее вес равен 10 -2), т. е. число 222.22 может быть разложено по степеням числа 10:

222.22 = 2 10 2 + 2 10 1 + 2 10° + 2 10 -1 + 2 10 -2 .

Аналогично 725 = 7 10 2 + 2 10 1 + 5 10°;

1304.5 = 1 10 3 + 3 10 2 + 0 10 1 + 4 10° + 5 10 -1 ,

50328.15 = 5 10 4 + 0 10 3 + 3 10 2 + 2 10 1 + 8 10° + 1 10 -1 + 5 10 -2 .

В общем случае для задания р -ричной системы счисления необходимо определить основание р и алфавит, состоящий из р различ­ных символов (цифр)а р i = 1,...,р.

Любое число X p можно представить в виде поли­нома путем разложения его по степеням числаp :

последовательность из коэффициентов которого представляет со­бой сокращенную запись числа X p :

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

Методы перевода чисел. Представление чисел в различных системах счисления

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

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

Алгоритм перевода целых чисел из q -ричной системы в p -ричную, при q > p

Для замены исходного числа X q равным ему числом X p нужно по правилам q -ричной арифметики целочисленно делить X q на новое основание p . Результаты деления, записанные в порядке от последнего к первому, и окажутся цифрами X p .

Поскольку коэффициенты многочлена неизвестны, обозначим их a i ; получаем:

Обычно описанную процедуру представляют в виде привычной по школе операции деления:

Таким образом, получили X 5 =443.

Проверяем правильность перевода: 4*5 2 +4*5 1 +3*5 0 =100+20+3=123 10 .

Второе, на что нужно обратить внимание – все операции выполнялись по правилам арифметики той системы счисления, от которой осуществлялся перевод (в рассмотренном примере – десятичной).

Алгоритм перевода целых чисел из q -ричной системы в p -ричную, при q < p

Для перевода необходимо представить число X q p -ричной арифметики.

X 6  X 10 , Х= 234 6

234 6 = 26 2 +36 1 +46 0 = 236+36+41 = 94 10

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

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

По этой причине переход, например X 3  X 8 проще осуществить через промежуточный переход к 10-ной системе X 3  X 10  X 8 .

Алгоритм перевода правильной дроби при q > p

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

Пример: 0,X 10  0,X 2 . 0,Х=0,375 10

Тогда для получения 0,X 2:

0,375*2 = 0 ,750

0,75*2 = 1 ,50

0,5*2 = 1 ,0

Таким образом, 0,375 10 = 0,011 2 .

Проверяем 0,011=0*2 -1 +1*2 -2 +1*2 -3 =0,25+1,125=0,375 10

Алгоритм перевода правильной дроби при q < p

Для перевода X q X p необходимо представить число X q в форме многочлена и выполнить все операции по правилам p -ричной арифметики.

Пример: X 6  X 10 , Х 6 =0,234 6

Для этого

0,234 6 = 26 -1 +36 -2 +46 -3 =0,33(3)+0,083(3)+0,01(851)= 0,43517 10

Проверяем:

0, 43517*6=2 ,61102

0, 61102*6=3, 66612

0,66612*6=3,996724 ,0 {погрешность вычислений в случае получения иррациональных чисел}

Пример: X 2  X 10 , Х=0,10101 2

Для этого

0, 10101 2 = 12 -1 +02 -2 +12 -3 +02 -4 +12 -5 = 0,5+0,125+0,03125= 0,65625 10.

Проверяем:

0,65625*2=1 ,3125

0,3125*2=0, 625

0,625*2=1 ,25

0,25*2=0 ,5

0,5*2=1 ,0 . Все верно

Перевод чисел между системами счисления 2 – 8 – 16

Примеры изображения чисел в данных системах счисления приведены в таблице 1

Таблица 1. Системы счисления

десятичная

двоичная

десятичная

двоичная

Для перевода целого двоичного числа в систему счисления с основанием p = 2 r достаточно данное двоичное число, начиная с младшего разряда, разбить на группы в r цифр каждая и каждую группу независимо перевести в систему p .

Например, для перевода числа 110001 2 в систему счисления p=8, нужно разбить исходное число на группы по три разряда справа налево (8 = 2 3 , следовательно, r = 3) и перевести в 8-ричную систему счисления: 110001 2 =61 8 . Проверяем 110001 2 =32+16+1=49 10 , 6*8 1 +1*8 0 =49 10

Аналогично, разбивая на группы по 4 двоичные цифры, получим 110001 2 = 31 16 .

Для перевода целого числа, записанного в системе счисления с основанием p = 2 r , в двоичную систему достаточно каждую цифру исходного числа независимо заменить соответствующим r -разрядным двоичным числом, дополняя его при необходимости незначащими нулями до группы в r цифр.

Пример: представим число D3 16 в двоичной системе счисления:

Пример, 123 8 = 001010011 2 = 53 16 .

Задания для самостоятельного выполнения

    Переведите число X p p-ричной системы счисления вX q q-ричной системы счисления

    X 5  X 10 , где X 5 =123

    X 3  X 10 , где X 3 =102

    X 10  X 4 , где X 10 =123

    X 10  X 6 , где X 10 =548

    X 5  X 3 , где X 3 =421

    X 2  X 6 , где X 2 =0111001

    X 2  X 16 , где X 2 =10011

    X 2  X 8 , где X 2 =101010

    X 16  X 2 , где X 16 =AD3

    X 8  X 2 , где X 8 =5470

II. Переведите десятичное число в двоичное:

    743 10 , b) 334.12 10 , c) 61.375, d) 160.25 10 , e) 131.82 10

III. Переведите десятичное число в шестнадцатеричное число:

    445 10 , b) 334.12 10 , c) 261.375, d) 160.25 10 , e) 131.82 10

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

В непозиционных системах счисления значение цифры не зависит от положения в числе .

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

Пример 1. Число CCXXXII складывается из двух сотен, трех десятков и двух единиц и равно двумстам тридцати двум.

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

Пример 2.

VI = 5 + 1 = 6; IV = 5 – 1 = 4.

Пример 3.

MCMXCVIII = 1000 + (–100 + 1000) +

+ (–10 + 100) + 5 + 1 + 1 + 1 = 1998.

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

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

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Позиционный характер этой системы легко понять на примере любого многозначного числа. Например, в числе 333 первая тройка означает три сотни, вторая - три десятка, третья - три единицы.

Для записи чисел в позиционной системе с основанием n нужно иметь алфавит из n цифр. Обычно для этого при n < 10 используют n первых арабских цифр, а при n > 10 к десяти арабским цифрам добавляют буквы. Вот примеры алфавитов нескольких систем:

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

101101 2 , 3671 8 , 3B8F 16 .

В системе счисления с основанием q (q -ичная система счисления) единицами разрядов служат последовательные степени числаq .q единиц какого-либо разряда образуют единицу следующего разряда. Для записи числа вq -ичной системе счисления требуетсяq различных знаков (цифр), изображающих числа 0, 1, ...,q – 1. Запись числаq вq -ичной системе счисления имеет вид 10.

Развернутая форма записи числа

Пусть Aq - число в системе с основанием q , аi - цифры данной системы счисления, присутствующие в записи числа A , n + 1 - число разрядов целой части числа, m - число разрядов дробной части числа:

Развернутой формой числа А называется запись в виде:

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

В следующих примерах приводится развернутая форма шестнадцатеричного и двоичного чисел:

В любой системе счисления ее основание записывается как 10.

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

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

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

Целое десятичное число X требуется перевести в систему с основаниемq :X = (a n a n-1 a 1 a 0) q . Нужно найти значащие цифры числа:. Представим число в развернутой форме и выполним тождественное преобразование:

Отсюда видно, что a 0 есть остаток от деления числаX на числоq . Выражение в скобках - целое частное от этого деления. Обозначим его заX 1. Выполняя аналогичные преобразования, получим:

Следовательно, a 1 есть остаток от деленияX 1 наq . Продолжая деление с остатком, будем получать последовательность цифр искомого числа. Цифраan в этой цепочке делений будет последним частным, меньшимq .

Сформулируем полученное правило: для того чтобы перевести целое десятичное число в систему счисления с другим основанием, нужно :

1) основание новой системы счисления выразить в десятичной системе счисления и все последующие действия производить по правилам десятичной арифметики;

2) последовательно выполнять деление данного числа и получаемых неполных частных на основание новой системы счисления до тех пор, пока не получим неполное частное, меньшее делителя;

3) полученные остатки, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления;

4) составить число в новой системе счисления, записывая его, начиная с последнего частного.

Пример 1. Перевести число 37 10 в двоичную систему.

Для обозначения цифр в записи числа используем символику: a 5 a 4 a 3 a 2 a 1 a 0

Отсюда: 37 10 = l00l0l 2

Пример 2. Перевести десятичное число 315 в восьмеричную и в шестнадцатеричную системы:

Отсюда следует: 315 10 = 473 8 = 13B 16 . Напомним, что 11 10 = B 16 .

Десятичную дробь X < 1 требуется перевести в систему с основаниемq :X = (0,a –1 a –2 …a –m+1 a –m) q . Нужно найти значащие цифры числа:a –1 , a –2 , …,a –m . Представим число в развернутой форме и умножим его наq :

Отсюда видно, что a –1 есть целая часть произведенияX на числоq . Обозначим заX 1 дробную часть произведения и умножим ее наq :

Следовательно, a –2 есть целая часть произведенияX 1 на числоq . Продолжая умножения, будем получать последовательность цифр. Теперь сформулируем правило:для того чтобы перевести десятичную дробь в систему счисления с другим основанием, нужно :

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

2) полученные целые части произведений, являющиеся цифрами числа в новой системе счисления, привести в соответствие с алфавитом новой системы счисления;

3) составить дробную часть числа в новой системе счисления, начиная с целой части первого произведения.

Пример 3. Перевести десятичную дробь 0,1875 в двоичную, восьмеричную и шестнадцатеричную системы.

Здесь в левом столбце находится целая часть чисел, а в правом - дробная.

Отсюда: 0,1875 10 = 0,0011 2 = 0,14 8 = 0,3 16

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

Двоичные вычисления

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

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

Рассмотрим правила вычитания и деления двоичных чисел. Операция вычитания является обратной по отношению к сложению. Из приведенной выше таблицы сложения следуют правила вычитания:

0 - 0 = 0; 1 - 0 = 1; 10 - 1 = 1.

Вот пример вычитания многозначных чисел:

Полученный результат можно проверить сложением разности с вычитаемым. Должно получиться уменьшаемое число.

Деление - операция обратная умножению. В любой системе счисления делить на 0 нельзя. Результат деления на 1 равен делимому. Деление двоичного числа на 10 2 ведет к перемещению запятой на один разряд влево, подобно десятичному делению на десять. Например:

Деление на 100 смещает запятую на 2 разряда влево и т.д. В базовом курсе можно не рассматривать сложные примеры деления многозначных двоичных чисел. Хотя способные ученики могут справиться и с ними, поняв общие принципы.

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

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

Двоично-шестнадцатеричная таблица

Такая связь основана на том, что 16 = 2 4 и число различных четырехразрядных комбинаций из цифр 0 и 1 равно 16: от 0000 до 1111. Поэтомуперевод чисел из шестнадцатеричных в двоичные и обратно производится путем формальной перекодировки по двоично-шестнадцатеричной таблице .

Вот пример перевода 32-разрядного двоичного кода в 16-ричную систему:

1011 1100 0001 0110 1011 1111 0010 1010 BC16BF2A

Если дано шестнадцатеричное представление внутренней информации, то его легко перевести в двоичный код. Преимущество шестнадцатеричного представления состоит в том, что оно в 4 раза короче двоичного . Желательно, чтобы ученики запомнили двоично-шестнадцатеричную таблицу. Тогда действительно для них шестнадцатеричное представление станет эквивалентным двоичному.

В двоично-восьмеричной системе каждой восьмеричной цифре соответствует триада двоичных цифр. Эта система позволяет сократить двоичный код в 3 раза.

Изучая кодировки, я понял, что недостаточно хорошо понимаю системы счислений. Тем не менее, часто использовал 2-, 8-, 10-, 16-ю системы, переводил одну в другую, но делалось все на “автомате”. Прочитав множество публикаций, я был удивлен отсутствием единой, написанной простым языком, статьи по столь базовому материалу. Именно поэтому решил написать свою, в которой постарался доступно и по порядку изложить основы систем счисления.

Введение

Система счисления - это способ записи (представления) чисел.

Что под этим подразумевается? Например, вы видите перед собой несколько деревьев. Ваша задача - их посчитать. Для этого можно - загибать пальцы, делать зарубки на камне (одно дерево - один палец\зарубка) или сопоставить 10 деревьям какой-нибудь предмет, например, камень, а единичному экземпляру - палочку и выкладывать их на землю по мере подсчета. В первом случае число представляется, как строка из загнутых пальцев или зарубок, во втором - композиция камней и палочек, где слева - камни, а справа - палочки

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

Непозиционная - самая древняя, в ней каждая цифра числа имеет величину, не зависящую от её позиции (разряда). То есть, если у вас 5 черточек - то число тоже равно 5, поскольку каждой черточке, независимо от её места в строке, соответствует всего 1 один предмет.

Позиционная система - значение каждой цифры зависит от её позиции (разряда) в числе. Например, привычная для нас 10-я система счисления - позиционная. Рассмотрим число 453. Цифра 4 обозначает количество сотен и соответствует числу 400, 5 - кол-во десяток и аналогично значению 50, а 3 - единиц и значению 3. Как видим - чем больше разряд - тем значение выше. Итоговое число можно представить, как сумму 400+50+3=453.

Однородная система - для всех разрядов (позиций) числа набор допустимых символов (цифр) одинаков. В качестве примера возьмем упоминавшуюся ранее 10-ю систему. При записи числа в однородной 10-й системе вы можете использовать в каждом разряде исключительно одну цифру от 0 до 9, таким образом, допускается число 450 (1-й разряд - 0, 2-й - 5, 3-й - 4), а 4F5 - нет, поскольку символ F не входит в набор цифр от 0 до 9.

Смешанная система - в каждом разряде (позиции) числа набор допустимых символов (цифр) может отличаться от наборов других разрядов. Яркий пример - система измерения времени. В разряде секунд и минут возможно 60 различных символов (от «00» до «59»), в разряде часов – 24 разных символа (от «00» до «23»), в разряде суток – 365 и т. д.

Непозиционные системы

Как только люди научились считать - возникла потребность записи чисел. В начале все было просто - зарубка или черточка на какой-нибудь поверхности соответствовала одному предмету, например, одному фрукту. Так появилась первая система счисления - единичная.
Единичная система счисления
Число в этой системе счисления представляет собой строку из черточек (палочек), количество которых равно значению данного числа. Таким образом, урожай из 100 фиников будет равен числу, состоящему из 100 черточек.
Но эта система обладает явными неудобствами - чем больше число - тем длиннее строка из палочек. Помимо этого, можно легко ошибиться при записи числа, добавив случайно лишнюю палочку или, наоборот, не дописав.

Для удобства, люди стали группировать палочки по 3, 5, 10 штук. При этом, каждой группе соответствовал определенный знак или предмет. Изначально для подсчета использовались пальцы рук, поэтому первые знаки появились для групп из 5 и 10 штук (единиц). Все это позволило создать более удобные системы записи чисел.

Древнеегипетская десятичная система
В Древнем Египте использовались специальные символы (цифры) для обозначения чисел 1, 10, 10 2 , 10 3 , 10 4 , 10 5 , 10 6 , 10 7 . Вот некоторые из них:

Почему она называется десятичной? Как писалось выше - люди стали группировать символы. В Египте - выбрали группировку по 10, оставив без изменений цифру “1”. В данном случае, число 10 называется основанием десятичной системы счисления, а каждый символ - представление числа 10 в какой-то степени.

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

Вавилонская шестидесятеричная система
В отличии от египетской, в вавилонской системе использовалось всего 2 символа: “прямой” клин - для обозначения единиц и “лежачий” - для десятков. Чтобы определить значение числа необходимо изображение числа разбить на разряды справа налево. Новый разряд начинается с появления прямого клина после лежачего. В качестве примера возьмем число 32:

Число 60 и все его степени так же обозначаются прямым клином, что и “1”. Поэтому вавилонская система счисления получила название шестидесятеричной.
Все числа от 1 до 59 вавилоняне записывали в десятичной непозиционной системе, а большие значения - в позиционной с основанием 60. Число 92:

Запись числа была неоднозначной, поскольку не существовало цифры обозначающей ноль. Представление числа 92 могло обозначать не только 92=60+32, но и, например, 3632=3600+32. Для определения абсолютного значения числа был введен специальный символ для обозначения пропущенного шестидесятеричного разряда, что соответствует появлению цифры 0 в записи десятичного числа:

Теперь число 3632 следует записывать, как:

Шестидесятеричная вавилонская система - первая система счисления, частично основанная на позиционном принципе. Данная система счисления используется и сегодня, например, при определении времени - час состоит из 60 минут, а минута из 60 секунд.

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

Методы определения значения числа:

  1. Значение числа равно сумме значений его цифр. Например, число 32 в римской системе счисления имеет вид XXXII=(X+X+X)+(I+I)=30+2=32
  2. Если слева от большей цифры стоит меньшая, то значение равно разности между большей и меньшей цифрами. При этом, левая цифра может быть меньше правой максимум на один порядок: так, перед L(50) и С(100) из «младших» может стоять только X(10), перед D(500) и M(1000) - только C(100), перед V(5) - только I(1); число 444 в рассматриваемой системе счисления будет записано в виде CDXLIV = (D-C)+(L-X)+(V-I) = 400+40+4=444.
  3. Значение равно сумме значений групп и цифр, не подходящих под 1 и 2 пункты.
Помимо цифирных, существуют и буквенные (алфавитные) системы счисления, вот некоторые из них:
1) Славянская
2) Греческая (ионийская)

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

Как упоминалось выше - первые предпосылки к появлению позиционной системы возникли в древнем Вавилоне. В Индии система приняла форму позиционной десятичной нумерации с применением нуля, а у индусов эту систему чисел заимствовали арабы, от которых её переняли европейцы. По каким-то причинам, в Европе за этой системой закрепилось название “арабская”.
Десятичная система счисления
Это одна из самых распространенных систем счисления. Именно её мы используем, когда называем цену товара и произносим номер автобуса. В каждом разряде (позиции) может использоваться только одна цифра из диапазона от 0 до 9. Основанием системы является число 10.

Для примера возьмем число 503. Если бы это число было записано в непозиционной системе, то его значение равнялось 5+0+3 = 8. Но у нас - позиционная система и значит каждую цифру числа необходимо умножить на основание системы, в данном случае число “10”, возведенное в степень, равную номеру разряда. Получается, значение равно 5*10 2 + 0*10 1 + 3*10 0 = 500+0+3 = 503. Чтобы избежать путаницы при одновременной работе с несколькими системами счисления основание указывается в качестве нижнего индекса. Таким образом, 503 = 503 10 .

Помимо десятичной системы, отдельного внимания заслуживают 2-, 8-, 16-ая системы.

Двоичная система счисления
Эта система, в основном, используется в вычислительной технике. Почему не стали использовать привычную нам 10-ю? Первую вычислительную машину создал Блез Паскаль, использовавший в ней десятичную систему, которая оказалась неудобной в современных электронных машинах, поскольку требовалось производство устройств, способных работать в 10 состояниях, что увеличивало их цену и итоговые размеры машины. Этих недостатков лишены элементы, работающие в 2-ой системе. Тем не менее, рассматриваемая система была создана за долго до изобретения вычислительных машин и уходит “корнями” в цивилизацию Инков, где использовались кипу - сложные верёвочные сплетения и узелки.

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

Примером может служить число 101. Оно аналогично числу 5 в десятичной системе счисления. Для того, чтобы перевести из 2-й в 10-ю необходимо умножить каждую цифру двоичного числа на основание “2”, возведенное в степень, равную разряду. Таким образом, число 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10 .

Хорошо, для машин 2-я система счисления удобнее, но мы ведь часто видим, используем на компьютере числа в 10-й системе. Как же тогда машина определяет какую цифру вводит пользователь? Как переводит число из одной системы в другую, ведь в её распоряжении всего 2 символа - 0 и 1?

Чтобы компьютер мог работать с двоичными числами (кодами), необходимо чтобы они где-то хранились. Для хранения каждой отдельной цифры применяется триггер, представляющий собой электронную схему. Он может находится в 2-х состояниях, одно из которых соответствует нулю, другое - единице. Для запоминания отдельного числа используется регистр - группа триггеров, число которых соответствует количеству разрядов в двоичном числе. А совокупность регистров - это оперативная память. Число, содержащееся в регистре - машинное слово. Арифметические и логические операции со словами осуществляет арифметико-логическое устройство (АЛУ). Для упрощения доступа к регистрам их нумеруют. Номер называется адресом регистра. Например, если необходимо сложить 2 числа - достаточно указать номера ячеек (регистров), в которых они находятся, а не сами числа. Адреса записываются в 8- и 16-ричной системах (о них будет рассказано ниже), поскольку переход от них к двоичной системе и обратно осуществляется достаточно просто. Для перевода из 2-й в 8-ю число необходимо разбить на группы по 3 разряда справа налево, а для перехода к 16-ой - по 4. Если в крайней левой группе цифр не достает разрядов, то они заполняются слева нулями, которые называются ведущими. В качестве примера возьмем число 101100 2 . В восьмеричной - это 101 100 = 54 8 , а в шестнадцатеричной - 0010 1100 = 2С 16 . Отлично, но почему на экране мы видим десятичные числа и буквы? При нажатии на клавишу в компьютер передаётся определённая последовательность электрических импульсов, причём каждому символу соответствует своя последовательность электрических импульсов (нулей и единиц). Программа драйвер клавиатуры и экрана обращается к кодовой таблице символов (например, Unicode, позволяющая закодировать 65536 символов), определяет какому символу соответствует полученный код и отображает его на экране. Таким образом, тексты и числа хранятся в памяти компьютера в двоичном коде, а программным способом преобразуются в изображения на экране.

Восьмеричная система счисления
8-я система счисления, как и двоичная, часто применяется в цифровой технике. Имеет основание 8 и использует для записи числа цифры от 0 до 7.

Пример восьмеричного числа: 254. Для перевода в 10-ю систему необходимо каждый разряд исходного числа умножить на 8 n , где n - это номер разряда. Получается, что 254 8 = 2*8 2 + 5*8 1 + 4*8 0 = 128+40+4 = 172 10 .

Шестнадцатеричная система счисления
Шестнадцатеричная система широко используется в современных компьютерах, например при помощи неё указывается цвет: #FFFFFF - белый цвет. Рассматриваемая система имеет основание 16 и использует для записи числа: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B. C, D, E, F, где буквы равны 10, 11, 12, 13, 14, 15 соответственно.

В качестве примера возьмем число 4F5 16 . Для перевода в восьмеричную систему - сначала преобразуем шестнадцатеричное число в двоичное, а затем, разбив на группы по 3 разряда, в восьмеричное. Чтобы преобразовать число в 2-е необходимо каждую цифру представить в виде 4-х разрядного двоичного числа. 4F5 16 = (100 1111 101) 2 . Но в 1 и 3 группах не достает разряда, поэтому заполним каждый ведущими нулями: 0100 1111 0101. Теперь необходимо разделить полученное число на группы по 3 цифры справа налево: 0100 1111 0101 = 010 011 110 101. Переведем каждую двоичную группу в восьмеричную систему, умножив каждый разряд на 2 n , где n - номер разряда: (0*2 2 +1*2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) (1*2 2 +0*2 1 +1*2 0) = 2365 8 .

Помимо рассмотренных позиционных систем счисления, существуют и другие, например:
1) Троичная
2) Четверичная
3) Двенадцатеричная

Позиционные системы подразделяются на однородные и смешанные.

Однородные позиционные системы счисления
Определение, данное в начале статьи, достаточно полно описывает однородные системы, поэтому уточнение - излишне.
Смешанные системы счисления
К уже приведенному определению можно добавить теорему: “если P=Q n (P,Q,n – целые положительные числа, при этом P и Q - основания), то запись любого числа в смешанной (P-Q)-ой системе счисления тождественно совпадает с записью этого же числа в системе счисления с основанием Q.”

Опираясь на теорему, можно сформулировать правила перевода из P-й в Q-ю системы и наоборот:

  1. Для перевода из Q-й в P-ю, необходимо число в Q-й системе, разбить на группы по n цифр, начиная с правой цифры, и каждую группу заменить одной цифрой в P-й системе.
  2. Для перевода из P-й в Q-ю, необходимо каждую цифру числа в P-й системе перевести в Q-ю и заполнить недостающие разряды ведущими нулями, за исключением левого, так, чтобы каждое число в системе с основанием Q состояло из n цифр.
Яркий пример - перевод из двоичной системы счисления в восьмеричную. Возьмем двоичное число 10011110 2 , для перевода в восьмеричное - разобьем его справа налево на группы по 3 цифры: 010 011 110, теперь умножим каждый разряд на 2 n , где n - номер разряда, 010 011 110 = (0*2 2 +1*2 1 +0*2 0) (0*2 2 +1*2 1 +1*2 0) (1*2 2 +1*2 1 +0*2 0) = 236 8 . Получается, что 10011110 2 = 236 8 . Для однозначности изображения двоично-восьмеричного числа его разбивают на тройки: 236 8 = (10 011 110) 2-8 .

Смешанными системами счисления также являются, например:
1) Факториальная
2) Фибоначчиева

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

Иногда требуется преобразовать число из одной системы счисления в другую, поэтому рассмотрим способы перевода между различными системами.
Преобразование в десятичную систему счисления
Имеется число a 1 a 2 a 3 в системе счисления с основанием b. Для перевода в 10-ю систему необходимо каждый разряд числа умножить на b n , где n - номер разряда. Таким образом, (a 1 a 2 a 3) b = (a 1 *b 2 + a 2 *b 1 + a 3 *b 0) 10 .

Пример: 101 2 = 1*2 2 + 0*2 1 + 1*2 0 = 4+0+1 = 5 10

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

Записав все остатки снизу вверх, получаем итоговое число 17. Следовательно, 15 10 = 17 8 .

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

В качестве примера возьмем число 1001 2: 1001 2 = 001 001 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0) = (0+0+1) (0+0+1) = 11 8

Для перевода в шестнадцатеричную - разбиваем двоичное число на группы по 4 цифры справа налево, затем - аналогично преобразованию из 2-й в 8-ю.

Преобразование из восьмеричной и шестнадцатеричной систем в двоичную
Перевод из восьмеричной в двоичную - преобразуем каждый разряд восьмеричного числа в двоичное 3-х разрядное число делением на 2 (более подробно о делении см. выше пункт “Преобразование из десятичной системы счисления в другие”), недостающие крайние разряды заполним ведущими нулями.

Для примера рассмотрим число 45 8: 45 = (100) (101) = 100101 2

Перевод из 16-ой в 2-ю - преобразуем каждый разряд шестнадцатеричного числа в двоичное 4-х разрядное число делением на 2, недостающие крайние разряды заполняем ведущими нулями.

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

Преобразование осуществляется также, как и для целых частей, за исключением того, что цифры числа умножаются на основание в степени “-n”, где n начинается от 1.

Пример: 101,011 2 = (1*2 2 + 0*2 1 + 1*2 0), (0*2 -1 + 1*2 -2 + 1*2 -3) = (5), (0 + 0,25 + 0,125) = 5,375 10

Преобразование дробной части двоичной системы в 8- и 16-ую
Перевод дробной части осуществляется также, как и для целых частей числа, за тем лишь исключением, что разбивка на группы по 3 и 4 цифры идёт вправо от десятичной запятой, недостающие разряды дополняются нулями справа.

Пример: 1001,01 2 = 001 001, 010 = (0*2 2 + 0*2 1 + 1*2 0) (0*2 2 + 0*2 1 + 1*2 0), (0*2 2 + 1*2 1 + 0*2 0) = (0+0+1) (0+0+1), (0+2+0) = 11,2 8

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

Для примера переведем 10,625 10 в двоичную систему:
0,625*2 = 1,25
0,250*2 = 0,5
0,5*2 = 1,0
Записав все остатки сверху вниз, получаем 10,625 10 = (1010), (101) = 1010,101 2

Изучив эту тему, вы узнаете и повторите:

Какие системы счисления существуют;
- как осуществляется перевод чисел из одной системы счисления в другую;
- с какими системами счисления работает компьютер;
- как представляются различные числа в памяти компьютера.

С древнейших времён перед людьми стояла проблема обозначения (кодирования) числовой информации.

Маленькие дети показывают свой возраст на пальцах. Лётчик сбил самолёт, ему за это рисуют звёздочку, Робинзон Крузо считал дни зарубками.

Числом обозначали некоторые реальные объекты, свойства которых были одинаковы. Когда мы что-то считаем или пересчитываем, мы как бы обезличиваем предметы, т.е. подразумеваем, что их свойства одинаковы. Но самым главным свойством числа является наличие объекта, т.е. единица и его отсутствие, т.е. ноль.

Что такое цифра?

Это алфавит чисел, набор символов, с помощью которых мы кодируем числа. Цифры – числовой алфавит.

Цифры и числа – это разные вещи! Рассмотрим два числа 5 2 и 2 5. Цифры одни и те же – 5 и 2.

А чем эти числа отличаются?

Порядком цифр? – Да! Но лучше сказать - позицией цифры в числе.

Давайте подумаем, что же это такое системы счисления?

Это запись чисел? Да! Но мы не можем писать так, как нам вздумается - нас должны понимать другие люди. Поэтому необходимо ещё использовать и определенные правила их записи.

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

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

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

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

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

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

Непозиционной системой счисления называется такая система счисления, у которой количественный эквивалент («вес») цифры не зависит от ее местоположения в записи числа.

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

Сначала люди просто различали ОДИН предмет перед ними или нет. Если предмет был не один, то говорили «МНОГО».

Первыми понятиями математики были "меньше", "больше", "столько же".

Если одно племя меняло пойманных рыб на сделанные людьми другого племени каменные ножи, не нужно было считать, сколько принесли рыб и сколько ножей. Достаточно было положить рядом с каждой рыбой по ножу, чтобы обмен между племенами состоялся.

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

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

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

Пальцы оказались прекрасной вычислительной машиной. С их помощью можно было считать до 5, а если взять две руки, то и до 10. В древние времена люди ходили босиком. Поэтому они могли пользоваться для счета пальцами как рук, так и ног. До сих пор существуют в Полинезии племена, использующие с 20-ую систему счисления.

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

Довольно широкое распространение имела двенадцатеричная система счисления. Происхождение её связано со счетом на пальцах. Считали большим пальцем руки фаланги остальных четырёх пальцев: всего их 12.

Элементы двенадцатеричной системы счисления сохранились в Англии в системе мер (1 фут = 12 дюймам) и в денежной системе (1 шиллинг = 12 пенсам). Нередко и мы сталкиваемся в быту с двенадцатеричной системой счисления: чайные и столовые сервизы на 12 персон, комплект носовых платков - 12 штук.

Числа в английском языке от одного до двенадцати имеют свое название, последующие числа являются составными:

Для чисел от 13 до 19 -- окончание слов -- teen. Например, 15 -- fiveteen.

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

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

Количество предметов изображалось нанесением черточек или засечек на какой-либо твердой поверхности: камне, глине…

Единичная («палочная») система счисления

Потребность в записи чисел появилась в очень древние времена, как только люди начали считать. Количество предметов изображалось нанесением чёрточек или засечек на какой - либо твёрдой поверхности: камне, глине, дереве (до изобретения бумаги было ещё очень и очень далеко). Каждому объекту в такой записи соответствовала одна чёрточка. Археологами найдены такие "записи" при раскопках культурных слоёв, относящихся к периоду палеолита (10 - 11 тысяч лет до н.э.).

Учёные назвали этот способ записи чисел единичной ("палочной") системой счисления. В ней для записи чисел применялся только один вид знаков - "палочка". Каждое число в такой системе счисления обозначалось с помощью строки, составленной из палочек, количество которых и равнялось обозначаемому числу. Перуанцы употребляли для запоминания чисел разноцветные шнуры с завязанными на них узлами. Интересный способ для записи чисел использовался индийскими цивилизациями примерно в VIII веке до новой эры. Они применяли «узелковое письмо» - связанные между собой нити. Знаками на этих нитях служили узелки, часто с вплетенными в них камнями или ракушками. Узелковая запись чисел позволяла Инкам передавать информацию о числе воинов, обозначать количество умерших или родившихся в той или иной провинции и так далее.


Около 1100 года н. э. английский король Генрих I изобрел одну из самых необычных денежных систем в истории, названную системой «мерных реек». Эта денежная система продержалась 726 лет и была отменена в 1826 году.

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

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

Древнеегипетская десятичная система счисления (2,5 тысяч лет до н.э.)

Примерно в третьем тысячелетии до нашей эры древние египтяне придумали свою числовую систему, в которой для обозначения ключевых чисел 1, 10, 100 и т.д. использовались специальные значки - иероглифы.

Все остальные числа составлялись из этих ключевых при помощи операции сложения. Система счисления Древнего Египта является десятичной, но непозиционной и аддитивной.

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

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

Римская десятичная система счисления (2 тысячи лет до н.э. и до наших дней)

Самой распространенной из непозиционных систем счисления является римская система.

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

Вспомните где?

Значение цифры не зависит от ее положения в числе.

Например, в числе XXX (30) цифра X встречается трижды и в каждом случае обозначает одну и ту же величину - число 10, три числа по 10 в сумме дают 30.

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

Запомните: 5, 50, 500 не повторяются!

А какие могут повторяться?

Если слева от старшей цифры стоит младшая, то она отнимается. Если младшая цифра стоит справа от старшей, то она прибавляется - I, X, C, M могут повторяться до 3-х раз.

Например:

1) MMIV = 1000+1000+5-1 = 2004

2) 149 = (Сто - C, сорок - XL, а девять - IX) = CXLIX

Например, запись десятичного числа 1998 в римской системе счисления будет выглядеть следующим образом: МСМХСVIII = 1000 + (1000 - 100) + (100 - 10) + 5 + 1 + 1 + 1.

Алфавитные системы счисления
Славянская кириллическая десятеричная алфавитная

Эта нумерация была создана вместе со славянской алфавитной системой для перевода священных библейских книг для славян греческими монахами братьями Кириллом и Мефодием в IX веке. Эта форма записи чисел получила большое распространение в связи с тем, что имела полное сходство с греческой записью чисел. До XVII века эта форма записи чисел была официальной на территории современной России, Белоруссии, Украины, Болгарии, Венгрии, Сербии и Хорватии. До сих пор православные церковные книги используют эту нумерацию.

Числа записывали из цифр так же слева, направо, от больших к меньшим. Числа от 11 до 19 записывались двумя цифрами, причем единица шла перед десятком:

Читаем дословно "четырнадцать" - "четыре и десять". Как слышим, так и пишем: не 10+4, а 4+10, - четыре и десять. Числа от 21 и выше записывались наоборот, сначала писали знак полных десятков.

Запись числа, использованная славянами аддитивная, то есть в ней используется только сложение:

= 800+60+3

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

Для обозначения чисел больших, чем 900 использовались специальные значки, которые дорисовывались к букве. Так образовывались числа:

Славянская нумерация просуществовала до конца XVII столетия, пока с реформами Петра I в Россию из Европы не пришла позиционная десятичная система счисления.

Древнеиндийские системы счисления

Система счисления кхарошти имела хождение в Индии между VI веком до нашей эры и III веком нашей эры. Эта была непозиционная аддитивная система счисления. О ней мало что известно, так как сохранилось мало письменных документов той эпохи. Система кхарошти интересна тем, что в качестве промежуточного этапа между единицей и десятью выбирается число четыре. Числа записывались справа налево.

Наряду с этой системой существовала в Индии еще одна система счисления брахми.

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

В древней Индии так же была словесная система счисления. Она была мультипликативная, позиционная. Знак нуля произносился как «пустое», или «небо», или «дыра». Единица как «луна», или «земля». Двойка как «близнецы», или «глаза», или «ноздри», или «губы». Четыре как «океаны», «стороны света». Например, число 2441 произносилось так: глаза океанов стороны света луны.

Недостатки непозиционных систем счисления:

1. Существует постоянная потребность введения новых знаков для записи больших чисел.

2. Невозможно представлять дробные и отрицательные числа.

3. Сложно выполнять арифметические операции, так как не существует алгоритмов их выполнения. В частности, у всех народов наряду с системами счисления были способы пальцевого счета, а у греков был счетная доска абак – что-то наподобие наших счетов.

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

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

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

Позиционной системой счисления называется такая система счисления, у которой количественный эквивалент («вес») цифры зависит от ее местоположения в записи числа.

Любая позиционная система счисления характеризуется своим основанием.

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

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

Вавилонская десятеричная / шестидесятеричная

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

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

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

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

Эта система одна из старейших и самых прогрессивных, поскольку в нее заложены такие же принципы, как и в современную «арабскую», которой мы с Вами пользуемся. Возникла эта система около 4 000 тысяч лет тому назад в Китае.

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

Эта мультипликативная запись, так как в ней используется умножение. Она десятичная, в ней есть знак нуля, кроме этого она позиционная. Т.е. она почти соответствует «арабской» системе счисления.

Двадцатеричная система счисления индейцев Майя или долгий счет

Эта система очень интересна тем, что на ее развитие не повлияла ни одна из цивилизаций Европы и Азии. Эта система применялась для календаря и астрономических наблюдений. Характерной особенностью ее было наличие нуля (изображение ракушки). Основанием этой системы было число 20, хотя сильно заметны следы пятеричной системы. Первые 19 чисел получались путем комбинирование точек (один) и черточек (пять).

Число 20 изображалось из двух цифр, ноль и один наверху и называлось уиналу. Записывались числа столбиком, внизу располагались наименьшие разряды, вверху наибольшие, в результате получалась «этажерка» с полками. Если число ноль появлялось без единицы наверху, то это обозначало, что единиц данного разряда нет. Но, если хоть одна единица была в этом разряде, то знак нуля исчезал, например, число 21, это будет . Так же в нашей системе счисления: 10 – с нулем, 11 – без него. Вот несколько примеров чисел:

В двадцатеричной системе счета древних майя есть исключение: стоит прибавить к числу 359 только одну единицу первого порядка, как это исключение немедленно вступает в силу. Суть его сводится к следующему: 360 является начальным числом третьего порядка и его место уже не на второй, а на третьей полке.

Но тогда выходит, что начальное число третьего порядка больше начального числа второго не в двадцать раз (20x20=400, а не 360!), а только в восемнадцать! Значит, принцип двадцатеричности нарушен! Все верно. Это и есть исключение.

Дело в том, что у индейцев Майя 20 дней-кинов образовывали месяц или уинал. 18 месяцев-уиналов образовывали год или туну (360 дней в году) и так далее:

К"ин = 1 день. Виналь = 20 к"ин = 20 дней. Тун = 18 виналь = 360 дней = около 1 года. К"атун = 20 тун = 7200 дней = около 20 лет. Бак"тун = 20 к"атун = 144000 дней = около 400 лет. Пиктун = 20 бак"тун = 2880000 дней = около 8000 лет. Калабтун = 20 пиктун = 57 600 000 дней = около 160000 лет. К"инчильтун = 20 калабтун = 1152000000 дней = около 3200000 лет. Алавтун = 20 к"инчильтун = 23040000000 дней = около 64000000 лет.

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

История «арабских» чисел.

История наших привычных «арабских» чисел очень запутана. Нельзя сказать точно и достоверно как они произошли. Вот один из вариантов этого истории этого происхождения. Одно точно известно, что именно благодаря древним астрономам, а именно их точным расчетам мы и имеем наши числа.

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

Между II и VI веками н.э. индийские астрономы познакомились с греческой астрономией. Они переняли шестидесятеричную систему и круглый греческий нуль. Индийцы соединили принципы греческой нумерации с десятичной мультипликативной системой взятой из Китая. Так же они стали обозначать цифры одним знаком, как было принято в древнеиндийской нумерации брахми. Это и был завершающий шаг в создании позиционной десятичной системы счисления.

Блестящая работа индийских математиков была воспринята арабскими математиками и Аль-Хорезми в IX веке написал книгу "Индийское искусство счета", в которой описывает десятичную позиционную систему счисления. Простые и удобные правила сложения и вычитания сколь угодно больших чисел, записанных в позиционной системе, сделали ее особенно популярной в среде европейских купцов.

В XII в. Хуан из Севильи перевел на латынь книгу "Индийское искусство счета", и индийская система счета широко распространилась по всей Европе. А так как труд Аль-Хорезми был написан арабском языке, то за индийской нумерацией в Европе закрепилось неправильное название - "арабская". Но сами арабы именуют цифры индийскими, а арифметику, основанную на десятичной системе - индийским счетом.

Форма «арабских» цифр со временем сильно изменялась. Та форма, в которой мы их пишем, установилась в XVI веке.

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


Десятичная позиционная система счисления

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

Мухаммед бен Муса ал-Хорезм

Приблизительно в 850 году н.э. он написал книгу об общих правилах решения арифметических задач при помощи уравнений. Она называлась "Китаб ал-Джебр". Эта книга дала имя науке алгебре.

Триста лет спустя (в 1120 г.) эту книгу перевели на латинский язык, и она стала первым учебником "индийской" арифметики для всех европейских городов.

История нуля.

Нуль бывает разный. Во-первых, нуль – это цифра, которая используется для обозначения пустого разряда; во-вторых, нуль – это необычное число, так как на нуль делить нельзя и при умножении на нуль любое число становиться нулем; в-третьих, нуль нужен для вычитания и сложения, иначе, сколько будет, если из 5 вычесть 5?

Впервые нуль появился в древневавилонской системе счисления, он использовался для обозначения пропущенных разрядов в числах, но такие числа как 1 и 60 у них записывали одинаково, так как нуль в конце числа у них не ставился. В их системе нуль выполнял роль пробела в тексте.

Изобретателем формы нуля можно считать великого греческого астронома Птолемея, так как в его текстах на месте знака пробела стоит греческая буква омикрон, очень напоминающая современный знак нуля. Но Птолемей использует нуль в том же смысле, что и вавилоняне. На стенной надписи в Индии в IX веке н.э. впервые символ нуля встречается в конце числа. Это первое общепринятое обозначение современного знака нуля. Именно индийские математики изобрели нуль во всех его трех смыслах. Например, индийский математик Брахмагупта еще в VII века н.э. активно стал использовать отрицательные числа и действия с нулем. Но он утверждал, что число, деленное на нуль, есть нуль, что конечно ошибка, но настоящая математическая дерзость, которая привела к другому замечательному открытию индийских математиков. И в XII веке другой индийский математик Бхаскара делает еще попытку понять, что же будет при делении на нуль. Он пишет: "количество, деленное на нуль, становится дробью, знаменатель которой равен нулю. Эту дробь называют бесконечностью".

Леонардо Фибоначчи, в своем сочинении "Liber abaci" (1202) называет знак 0 по-арабски zephirum. Слово zephirum – это арабское слово as-sifr, которое произошло от индийского слова sunya, т. е. пустое, служившего названием нуля. От слова zephirum произошло французское слово zero (нуль) и итальянское слово zero. С другой стороны, от арабского слова as-sifr произошло русское слово цифра. Вплоть до середины XVII века это слово употреблялось специально для обозначения нуля. Латинское слово nullus (никакой) вошло в обиход для обозначения нуля в XVI веке.

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

Основания, используемые в наши дни:

10 - привычная десятичная система счисления (десять пальцев на руках). Алфавит: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0

60 - придумано в Древнем Вавилоне: деление часа на 60 минут, минуты - на 60 секунд, угла - на 360 градусов.

12 - распространили англосаксы: в году 12 месяцев, в сутках два периода по 12 часов, в футе 12 дюймов

7 - используется для счета дней недели