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

Реальное положение дел с изучением систем счисления в школе прекрасно описывается единственной цитатой: «Я вообще, не понимаю, зачем это нужно изучать, какой в этом практический смысл». Процитирован учитель информатики высшей квалификационной категории, бывший учитель математики высшей квалификационной категории, суммарный стаж превысил 25 лет. Выводы я оставлю на усмотрение читателей. Большинство других учителей принципиально не могут системно сформулировать ответ на этот искренний вопрос, отделываясь общими шаблонными словами.

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

Разные народы в своем развитии использовали различные системы счисления. Отголоски древних способов счета встречаются и в современном мире. Так, из древнего Вавилона сохранилось деление часа на 60 минут, минуты — на 60 секунд, а угла на 360°; из Древнего Рима — римская запись чисел (I, II, III, IV...); от англосаксов — счет дюжинами (в году — 12 месяцев, в футе — 12 дюймов, сутки делятся на 2 периода по 12 часов).

В результате, самой удобной оказалась десятичная (десятеричная) система счисления, которая пришла из Индии. В ней десять цифр (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), но информацию несет не только сама цифра, но также и позиция, в которой она стоит.

Основание системы счисления — количество различных символов или знаков, используемых для записи чисел (основание заложено в название системы счисления!). По общепринятым правилам, основание записывается в нижнем индексе после числа: 102 в двоичной, 103 в троичной,.. 1010 в десятичной...

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

Алфавит системы счисления — перечень символов, используемых для записи чисел.

Так, для десятичной системы это будут приведенные выше 10 цифр, а для двоичной — только две (0 и 1).

Алфавит составляется из арабских цифр, начиная с нуля. Если знаков не хватает (например, шестнадцате­ричная система), то берутся латинские буквы (A–F). Так как английских букв 26, то максимальной системой счисления, используемой без особых проблем, следует считать тридцатишестеричную (10+26). Это не является пределом (его нет в принципе). Для дальнейшей подстановки можно использовать любые знаки. Но, с современной компьютерной точки зрения можно признать пределом число знаков в Unicode-шрифте, то есть 65536 – 31 (65505).

Разрядная цифра — наименьшее число, которое может быть добавлено в данном разряде. С точки зрения систем счисления, разрядные цифры всегда записывают одинаково (единица и сколько-то нулей): 1, 10, 100, 1000... В реальном числе значение может превышать цифру, то есть получатся разрядные слагаемые. Так как в двоичной системе наибольшей цифрой является 1, разрядные цифры становятся единственным вариантом разрядных слагаемых.

Разрядное слагаемое — цифра, которая записана в конкретном разряде с добавлением к ней необходимого числа нулей. Важно, что предельное значение слагаемого зависит от системы счисления. Так, для второго разряда оно составит: 10 в двоичной, до 20 в троичной, до 30 в четверичной,... до 90 в десятичной...

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

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

Степени чисел в десятичной системе

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

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

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

    Введем некоторые аксиомы.
  1. Любое число в нулевой степени равно единице a0 = 1.
  2. Любое число в первой степени равно самому себе a1 = a.
  3. an = [Степень].
Значения степеней, которые могут пригодится, приведены ниже.

Классификация систем счисления

Все современные системы можно разделить на два класса: непозиционные и позиционные.

В непозиционных системах (например, римской) значение знаков зависит от порядка их записи. Так, если I стоит перед V (IV), то это означает 5–1 = 4, а если после (VI), то это означает 5+1 = 6.

В позиционной системе, основным примером которой является повсеместно используемая десятичная, значение цифры четко зависит от ее положения (разряда). Например, число 333 записывается тремя одинаковыми цифрами, но значение их различается по четким правилам: три сотни, три десятка и три единицы (333=300+30+3).
Важно подчеркнуть, что возможна другая форма записи такого разложения:

333 = 300 + 30 + 3 = 3•102 + 3•101 + 3•100.

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

Сложение чисел

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

Складывать цифры разрядов надо по «давно забытому» правилу: если их сумма меньше предельной цифры (9 для десятичной системы), то их надо просто сложить. Если же сумма превышает эту максимальную цифру, то одно из слагаемых должно быть разложено на две части, одна из которых дополнит второе слагаемое до переполнения разряда (10 для десятичной). Пример: 7 + 6 = (7 + 3) + 3 = 10 + 3 = 13.

Перевод чисел

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

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

n0123 45678910
2n124816 32641282565121024
n2*110100 100010000100000 ...    
* Несложно заметить, что: какая степень, столько нулей записано в двоичном числе.

Любое из производимых действий будет замкнуто на эту таблицу!

В десятичную систему

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

В качестве первого примера рассмотрим число 1111n


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


В качестве второго примера рассмотрим число 1234n


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Общая формула для перевода:

a1*n0 + a2*n1 + a3*n2 + a4*n3 + ... + ak*nk–1

где n — основание системы счисления, k — номер разряда числа.

Из десятичной системы

1. Остаток от деления

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

Разложим два числа: 23 и 64.

ДелимоеОстатокСмысл действия
23
10
5
2
1
0
1
1
1
0
1
 
23/2 = 22/2 + 1 = 11 + 1
11/2 = 5 + 1
5/2 = 4/2 + 1 = 2 + 1
2/2 = 1 + 0
1/2 = 0 + 1
 
2310 = 101112
ДелимоеОстатокСмысл действия
64
32
16
8
4
2
1
0
0
0
0
0
0
0
1

64/2 = 32 + 0
32/2 = 16 + 0
16/2 = 8 + 0
8/2 = 4 + 0
4/2 = 2 + 0
2/2 = 1 + 0
1/2 = 0 + 1

6410 = 10000002

В некоторых учебниках (например, Босовой) предлагается таблицу записи располагать горизонтально, что очень удобно для сравнительно небольших чисел (<211).

В верхней строке записывается число. Остаток от деления (в нашем случае на 2) записывается под ним, а целая часть частного — в следующей колонке.
Делимое23 1152 1
Остаток11 101
Опять перепишем остатки в обратном порядке:
2310 = 101112

Способом деления можно перевести число в любую систему счисления. Давайте переведем 44 в троичную систему.
Делимое44 1441
Остаток2211
4410 = 11223

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

Поэтому, давайте перейдем к другому, менее «магическому» способу.

2. Разложение

Как известно, любое число можно представить в виде суммы чисел.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


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


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Порядок действий на практике


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Пример 1. Переведем 900 в семеричную систему.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Пример 2. Переведем 900 в пятеричную систему.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Пример 3. Переведем 900 в двоичную систему.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


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

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


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


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

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

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

Необходимо заметить, что 8 = 23, а 16 = 24. Именно поэтому в приведенном правиле и используются группы по три разряда, а для перевода в 16-ричную потребуются уже 4 разряда.

Внимательный читатель может заметить, что еще осталось 4 = 22. То есть двоичную систему также легко можно преобразовать и в четверичную.

Отсюда же следует, что раз 9 = 32, то троичная система легко преобразуется в девятеричную, если разбить её число на пары.

Как это делается на практике.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Факультативный материал по переводу в четверичную систему.


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Ответ: 11101101110112 = 13123234.

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

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

Типичной ошибкой является незаписывание ведущих нулей (10 вместо 010).

Некоторые советы и замечания


Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


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

Перевод десятичных дробей

Данный материал может потребоваться (а может и нет) для сдачи ЕГЭ и обучения в вузе.

Но, так как он всего лишь «присутствовал» в учебниках до ЕГЭ без должного объяснения и даже упоминания на экзамене, считаю необходимым вопрос полностью опустить. Без каких-либо дальнейших упоминаний.

Степени некоторых чисел

Степени числа 2
n0123 4567891011 12131415161718 1920
2n1248 16 3264128 256 51210242048 40968192163843276865536131072 2621445242881 048 576

2nРезультатДвоичное
представление

Нолей
(n)

Знаков
(n+1)

Значения
(штуки)
20110 10–1 (2=21)
212101 20–3 (4=22)
2241002 30–7 (8=23)
23810003 40–15 (16=24)
2416100004 50–31 (32=25)
25321000005 60–63 (64=26)
266410000006 70–127 (128=27)
27128100000007 80–255 (256=28)
282561000000008 90–511 (512=29)

    Выводы (n+1 — число знаков):

    Доступ к этим материалам предоставляется только зарегистри­рован­ным пользователям!


Степени некоторых чисел
Осно-
вание
Степень
012 3 4567 8910
2124 8 16 3264128 256 5121 024
3139 2781 2437292 187 6 56119 68359 049
4 (22)1 4 1664 2561 024 4 09616 38465 536 262 144  
51 525125 625 3 125 15 62578 125390 625   
61 6362161 296 7 77646 656279 936     
71 7493432 401 16 807117 649823 543     
8 (23)18 64512 4 096 32 768262 144     
9 (32)1981 729 6 561 59 049531 441     
10110100 1 00010 000 100 0001 000 000     
11111121 1 33114 641 161 051      
12112144 1 72820 736 248 832      
13113169 2 19728 561 371 293      
14114196 2 74438 416 537 824      
15115225 3 37550 625 759 375      
16 (24)116256 4 09665 536        
Примечание. Исходя из соображений разумности, степени приведены до первого шестизначного числа.

Значения некоторых чисел в различных системах счисления

(Таблица дана не для решения заданий, а для упрощения понимания закономерностей прироста и сравнения чисел разных систем счисления.)
Основание
10234816
000000
111111
2102 22 2
31110 33 3
410011 104 4
510112 115 5
611020 126 6
711121 137 7
8100022 20108
91001100 21119
101010101 2212 A
111011102 2313 B
121100110 3014 C
131101111 3115 D
141110112 3216 E
151111120 3317 F
1610000 121100 2010
1710001 122101 2111
1810010 200102 2212
1910011 201103 2313
2010100 202110 2414


Copyright © 1993–2024 Мацкявичюс Д.А. Все права защищены.
Никакая часть сайта не может быть воспроизведена никаким способом без письменного разрешения правообладателя и явной ссылки на данный ресурс.