Основание системы счисления примеры. Понятие системы счисления. Виды систем счисления

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

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

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

3.4. Иллюстрированный вспомогательный материал

3.5. Тестирование

3.6. Контрольные вопросы

Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 60 минут и угла на 360 градусов. К Древнему Риму - традиция записывать в римской записи числа I, II, III и т. д. К англосаксам - счет дюжинами: в году 12 месяцев, в футе 12 дюймов, сутки делятся на 2 периода по 12 часов.

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

В конце концов, самой популярной системой счисления оказалась десятичная система. Десятичная система счисления пришла из Индии, где она появилась не позднее VI в. н. э. В ней всего 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 но информацию несет не только цифра, но также и место позиция, на которой она стоит. В числе 444 три одинаковых цифры обозначают количество и единиц, и десятков, и сотен. А вот в числе 400 первая цифра обозначает число сотен, два 0 сами по себе вклад в число не дают, а нужны лишь для указания позиции цифры 4.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Десятичня система счисления – в настоящее время наиболее известная и используемая. Изобретение десятичной системы счисления относится к главным достижениям человеческой мысли. Без нее вряд ли могла существовать, а тем более возникнуть современная техника. Причина, по которой десятичная система счисления стала общепринятой, вовсе не математическая. Люди привыкли считать в десятичной системе счисления, потому что у них по 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. Соответствие чисел, записанных в различных системах счисления

Десятичная

Двоичная

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

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

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

Результат уже получен!

Перевод целых и дробных чисел из одной системы счисления в любую другую − теория, примеры и решения

Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:

Тогда число 6372 можно представить в следующем виде:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.

Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:

Тогда число 1287.923 можно представить в виде:

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .

В общем случае формулу можно представить в следующем виде:

Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k

где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.

Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.

Таблица 1
Система счисления
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

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

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

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

С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.

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

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

Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.

Пример 4 . Переведем число 159 из десятичной СС в двоичную СС:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:

159 10 =10011111 2 .

Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.

615 8
608 76 8
7 72 9 8
4 8 1
1

При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:

615 10 =1147 8 .

Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.

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

Рассмотрим вышеизложенное на примерах.

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

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .

Следовательно можно записать:

0.214 10 =0.0011011 2 .

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

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:

0.125 10 =0.001 2 .

Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:

0.214 10 =0.36C8B4 16 .

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

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Получили:

0.512 10 =0.406111 8 .

Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:

159.125 10 =10011111.001 2 .

Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.

1.3.1.ПОНЯТИЕ СИСТЕМЫ СЧИСЛЕНИЯ.

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

Система счисления (СС) - это система записи чисел с помощью определенного набора цифр.CС называется позиционной , если одна и та же цифра имеет различное значение, которое определяется ее местом в числе. Десятичная СС является позиционной: 999.Римская СС является непозиционной . Значение цифры Х в числе ХХІ остается неизменным при вариации ее положения в числе.Количество различных цифр, употребляемых в позиционной СС, называется основанием СС.

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

Например : 8527=8*10 3 +5*10 2 +2*10 1 +7*10 0

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

X - число;
a - основа системыисчисления;
i - индекс;
m - количество разрядов числа дробной части;
n - количество разрядов числа целой части.

Например : 327.46 n=3, m=2, q=10

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

Например : если 10=А, а 11=В, то число 7А.5В 12 можно расписать так:

7А.5В 12 = В·12 -2 + 5 ·2 -1 +А ·12 0 + 7 ·12 1 .

В шестнадцатеричной СС основа - это цифры 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 с соответствующими обозначениями 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. Примеры чисел: 17D.ECH, F12AH.

ДвоичнаяСС - это система, в которой для записи чисел используются две цифры 0 и 1. Основанием двоичной системы счисления является число 2.

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

0=0 2
1=1 2
2=10 2
3=11 2 …
7=111 2
120=1111000 2 .

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

D – десятичная СС
В – двоичная СС
О – восьмеричная СС
Н – 16-ричная СС.

Несмотря на то, что 10-тичная СС имеет широкое распространение, цифровые ЭВМ строятся на двоичных элементах, т.к. реализовать элементы с 10 четко различимыми состояниями сложно. Историческое развитие ВТ сложилось таким образом, что ЭВМ строятся на базе двоичных цифровых устройств: триггеров, регистров, счетчиков, логических элементов и т.д.

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

Задача перевода из одной СС в другую часто встречается при программировании, особенно, на языке Ассемблера. Например, при определении адреса ячейки памяти. Отдельные стандартные процедуры языков программирования Паскаль, Бейсик, Си, HTML требуют задания параметров в 16-ричной СС. Для непосредственного редактирования данных, записанных на жесткий диск, также необходимо умение работать с 16-ричными числами. Отыскать неисправность в ЭВМ невозможно без представлений о двоичной СС.

В таблице приведены некоторые числа, представленные в различных СС.

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

Восьмеричные
числа

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

Шестнадцатеричные
числа

1.3.2. ПЕРЕВОД ЧИСЕЛ ИЗ ПРОИЗВОЛЬНОЙ СС В ДЕСЯТИЧНУЮ И ОБРАТНО.

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

1101 2 =1*2 3 +1*2 2 +0*2 1 +1*2 0 =13 10

17D.ECH=12·16 -2 + 14·16 -1 +13·16 0 + 7·16 1 + 1·16 2 =381.921875

Перевод чисел из десятичной СС в заданную.

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

Например:

Читая остатки от деления снизу вверх, получим 111011011.

Проверка:

1*2 8 +1*2 7 +1*2 6 +0*2 5 +1*2 4 +1*2 3 +0*2 2 +1*2 1 +1*2 0 = 1+2+8+16+64+128+256=475 10 .

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

Например : перевести число 0.375 10 в двоичную СС.

Полученный результат - 0.011 2 .

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

1.3.3. ПЕРЕВОД МЕЖДУ ОСНОВАНИЯМИ, СОСТАВЛЯЮЩИМИ СТЕПЕНЬ 2.

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

Например :

1234.777 8 = 001 010 011 100.111 111 111 2 = 1 010 011 100.111 111 111 2

1234567 8 = 001 010 011 100 101 110 111 2 = 1 010 011 100 101 110 111 2

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

Например :

1100111 2 = 001 100 111 2 = 147 8

11.1001 2 = 011.100 100 2 = 3.44 8

110.0111 2 = 110.011 100 2 = 6.34 8

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

Например :

1234.AB77 16 = 0001 0010 0011 0100.1010 1011 0111 0111 2 =1 0010 0011 0100.1010 1011 0111 0111 2

CE4567 16 = 1100 1110 0100 0101 0110 0111 2

0.1234AA 16 = 0.0001 0010 0011 0100 1010 1010 2

1100111 2 = 0110 0111 2 = 67 16

11.1001 2 = 0011.1001 2 = 3.9 16

110.0111001 2 = 0110.0111 0010 2 = 65.72 16

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

Например :

1234567 8 = 001 010 011 100 101 110 111 2 = 0101 0011 1001 0111 0111 2 = 53977 16

0.12034 8 = 0.001 010 000 011 100 2 = 0.0010 1000 0011 1000 2 = 0.2838 16

120.34 8 = 001 010 000. 011 100 2 = 0101 0000.0111 0000 2 = 50.7 16

1234.AB77 16 = 0001 0010 0011 0100.1010 1011 0111 0111 2 =

001 001 000 110 100.101 010 110 111 011 100 2 = 11064.526734 8

CE4567 16 = 1100 1110 0100 0101 0110 0111 2 = 110 011 100 100 010 101 100 111 2 = 63442547 8

0.1234AA 16 =0.0001 0010 0011 0100 1010 1010 2 =0.000 100 100 011 010 010 101 010 2 =0.04432252 8

Изучая кодировки, я понял, что недостаточно хорошо понимаю системы счислений. Тем не менее, часто использовал 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

Системы счисления. Понятие систем счисления. Виды и группы систем счисления

Система счисления (СС) - это правило записи числа с помощью заданного набора специальных знаков - цифр. Существует несколько групп записи чисел: Унарная. Это СС, в которой для записи чисел используется один знак - (палочка). Следующее число получается из предыдущего путем добавления новой - единицы, их количество равно самому числу. Для записи числа в унарной системе используют обозначение Z1. Непозиционные СС (самая распространенная - Римская). В ней некоторые базовые числа представлены заглавными латинскими буквами: 1-I 5-V, 10-X, 50-L, 100-C, 500-D, 1000-M, Если цифра меньшего значения стоит справа от большей цифры, то их значения суммируются, если слева-то меньшее значение вычитается из большего. Цифры I, X, C, M могут следовать подряд не боле трех раз. Цифры V, L, D могут использоваться в записи числа не более одного раза. Позиционные СС - СС, в которых значение каждой цифры в изображении числа определяется ее положением (позицией) в ряду других цифр. Общим дл унарной и римской СС является то, что значение числа в них определяется посредством операций сложения и вычитания базисных цифр, из которых составлено число, независимо от их позиции в числе. Такие системы получили название аддитивные. В отличие от них позиционные СС считаются аддитивно-мультипликативными, т.к. значение числа определяется операциями умножения и сложения.

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

Поскольку одно и то же число может быть записано в различных СС, то возможен перевод числа из одной системы в другую. Т.к. самая распространенная СС - десятичная, то необходимо рассмотреть алгоритмы перевода из десятичной системы в другую и обратно. Алгоритм перевода из десятичной СС в другую. 1). Целочисленно разделить исходное число Z(10) на основание новой системы (p) и найти остаток отделения - это будет цифра от 0-го разряда числа Z. 2). Частное от деления снова разделить на P с выделением остатка, процедуру продолжать до тех пор, пока частное не окажется меньше P. 3). Образованные остатки от деления, поставленные в порядке, обратном их получения, и представляют Z(p). Алгоритм перевода Z(p) в Z(10). Для этого преобразования используют формулу (1): Z p =a k-1 *p k-1 +a k-2 *p k-2 + … +a 1 *p 1 +a 0 *p 0 ; (1) Где p - основание СС, k - общее число цифр числа. Например: 443 (5)=4*5 2 + 4*5 1 + 3*5 0 = 100+20+3 = 123. Алгоритм перевода дробного числа из десятичной СС в другую систему. Умножить исходную дробь в 10-ной системе на основание P, выделить целую часть - она будет первой цифрой новой дроби, отбросить целую часть. Для оставшейся дробной части операцию умножения с выделение целой и дробной частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаемая точность конечного числа. Записать дробь в виде последовательности цифр после поля с разделителями в порядке их появления. Пример: 0,375 (10) в 0, Y(2). 0.375*2 = |0.|750 0.75*2 = |1.|50 0.5*2 = |1.|0 0.375 10 = 0.011 2 4. Алгоритм перевода 0.Y(P) в 0.Y(10) сводится к вычислению значения формулы (1). Пример: 0,011 2 = 0*2 -1 + 1*2 -2 + 1*2 -3 = 0,25+0,125 = 0,375 10 .