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

Содержание

Правила умножения

\ \

Раскрывая вторые скобки, получаем:

\

Внося \(P^i\) в скобку,

\

Обозначим \

Тогда \

Таким образом, каждый разряд \(b_i\) умножается на число \(X_1\), результат смещается на \(i\) разрядов влево (умножается на \(P^i\)), затем все промежуточные результаты складываются (правила сложения нам уже известны).

Рассмотрим теперь умножение на один разряд:

\

По условиям теоремы, \(0\le c_j < P\). В то же время, \(0 \le a_j b_j \le (P-1)^2\). \((P-1)^2 = P^2 — 2P + 1 < P^2\).

Тогда, имеем два варианта:

  1. \(a_j b_i<P\). Тогда \(c_j = a_j b_i\) удовлетворяет условиям теоремы.
  2. \(P \le a_j b_i \le (P-1)^2\). Тогда можем разложить \(a_j b_i = p_j P + c_j\). В разложении не может быть больше двух членов, поскольку \(a_j b_i < P^2\). \(c_j\) очевидно удовлетворяет условиям теоремы, а следующий разряд получает “перенос” \(p_j\): \(a_j b_i + p_j \le P^2 — 2P + 1 + P-1 = P^2-P < P^2\) и может быть рассмотрен аналогично.

Получаем правила умножения: Каждый разряд второго операнда умножается на первый операнд, причем результат смещается на положение этого разряда. Первый операнд умножается на разряд второго поразрядно, начиная с младшего, причем, если результат больше основания системы счисления P, то, записанный в P-ичной системе счисления результат будет иметь два разряда, младший из которых определит текущий разряд промежуточного результата \(Y_i\), а старший будет аддитивно перенесен в следующий.

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

Таблица умножения двоичной системы счисления
1
1 1
Таблица умножения восьмеричной системы счисления
1 2 3 4 5 6 7
1 1 2 3 4 5 6 7
2 2 4 6 10 12 14 16
3 3 6 11 14 17 22 25
4 4 10 14 20 24 30 34
5 5 12 17 24 31 36 43
6 6 14 22 30 36 44 52
7 7 16 25 34 43 52 61
Таблица умножения шестнадцатиричной системы счисления
1 2 3 4 5 6 7 8 9 A B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F
2 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1

Пример:

\(\begin{matrix} & & A & E & {}_{16} \\ \times & & 3 & E & {}_{16} \\ \hline{} \end{matrix}\qquad\) \(\begin{matrix} & & A & \underline E & {}_{16} \\ \times & & 3 & \underline E & {}_{16} \\ \hline{} & & C & 4 & {}_{16} \end{matrix}\qquad\) \(\begin{matrix} & & \underline A & E & {}_{16} \\ \times & & 3 & \underline E & {}_{16} \\ \hline{} & & C & 4 & {}_{16} \\ + & 8 & C & & {}_{16} \end{matrix}\qquad\) \(\begin{matrix} & & A & \underline E & {}_{16} \\ \times & & \underline 3 & E & {}_{16} \\ \hline{} & & C & 4 & {}_{16} \\ + & 8 & C & & {}_{16} \\ + & 2 & A & & {}_{16} \\ \end{matrix}\qquad\) \(\begin{matrix} & & \underline A & E & {}_{16} \\ \times & & \underline 3 & E & {}_{16} \\ \hline{} & & & C & 4 & {}_{16} \\ + & & 8 & C & & {}_{16} \\ + & & 2 & A & & {}_{16} \\ + & 1 & E & & & {}_{16} \\ \end{matrix}\qquad\) \(\begin{matrix} & & A & E & {}_{16} \\ \times & & 3 & E & {}_{16} \\ \hline{} & & & C & 4 & {}_{16} \\ + & & 8 & C & & {}_{16} \\ + & & 2 & A & & {}_{16} \\ + & 1 & E & & & {}_{16} \\ \hline{} & \overset{1}{1} & \overset{2}{8} & 2 & 4 & {}_{16} \\ \hline{} & 2 & A & 2 & 4 & {}_{16} \end{matrix}\qquad\)

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

Изначально для записи количества предметов ставилось столько единиц (I), сколько было объектов, что неудобно – число «палочек» приходилось каждый раз подсчитывать. Чуть упростило задачу введение иных символов, при записи огромных значений система также оказалась неудобной из-за громоздкости записи и ряда правил для вычисления значений.

Правила записи чисел римлянами:

  • Меньшая цифра добавляется до большей, если идёт после неё.
  • Если меньшая предшествует старшей – отнимается.
  • Две меньших цифры рядом, если следуют перед большей, не ставятся.
  • D, V, L используют в числе лишь раз.
  • I, X. C, M – применяются до трёх раз.

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

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

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

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

В итоге любые числа представлены в виде комбинаций нулей и единиц. Например, число 4 в двоичной системе счисления записывается как 100, но читается каждый символ в отдельности, то есть «один ноль ноль». Это может запутать, поскольку запись числа 4 в двоичной системе счисления внешне не отличается от числа 100 из десятичной. В некоторых ситуациях из-за этого может возникнуть путаница. В таких случаях справа от числа подстрочным шрифтом принято указывать систему счисления, к которой относится данной число в десятичном формате. Числа из нашего примера можно записать следующим образом 410 и соответственно 1002. Так же встречается вариант указания перед двоичным числом префиксов 0b или &, то есть 0b100 или &100.

Популярные статьи  Рейтинг дефектов низковольтных электродвигателей

Чтобы перевести десятичное число в двоичное, можно воспользоваться калькулятором расположенным ниже или применить метод Горнера. Для этого нужно десятичное число последовательно делить на основание системы, в данном случае 2. Если результат получается с остатком, то остаток отбрасываем, пишем 1 и снова делим на 2. Если результат получается без остатка, то пишем 0 и снова делим на 2. Запись нулей и единиц осуществляется справа налево, а деление продолжается пока в частном не получится ноль. Рассмотрим это на примере и преобразуем число 1110 в двоичный вид.

11/2=5 остаток 1
5/2=2 остаток 1
2/2=1 остаток 0
1/2=0 остаток 1

В частном получился ноль, осталось записать получившиеся цифры справа налево от первой к последней и в итоге получаем, что 1110=10112

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

Дано: &1011
1+0*2=1 (на первом шаге предыдущая сумма отсутствует, поэтому 0*2 )
0+1*2=2
1+2*2=5
1+5*2=11
Результат: 1110

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

Таблицы истинности

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

Основные логические операции

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

Логические переменные таблицы истинности обозначают p и q, а их значения выражают при помощи 0 и 1, где 0 – ложь, 1 – истина:

Фрагмент таблицы истинности для конъюнкции.

Так выражаются условия для всех логических операций.

Применяются таблицы истинности еще с начала 20 века в алгебре, логике, программировании.

Мы привыкли шифровать десятью знаками

У нас есть знаки 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9 — всего десять знаков. Этим числом знаков мы шифруем количество единиц, десятков, сотен, тысяч и так далее.

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

Например, перед нами число 19 547. Мы знаем, что в нём есть:

1 × 10 000

9 × 1000

5 × 100

4 × 10

7 × 1

Если приглядеться, то каждый следующий разряд числа показывает следующую степень десятки:

1 × 104

9 × 103

5 × 102

4 × 101

7 × 10

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

Онлайн конвертер

ОсновныеДвоичная (2)Восьмеричная (8)Десятичная (10)Шестнадцатеричная (16)ДополнительныеТроичная (3)Четверичная (4)Пятиричная (5)Шестиричная (6)Семиричная (7)Девятиричная (9)Одиннадцатиричная (11)Двенадцатиричная (12)Тринадцатиричная (13)Четырнадцатиричная (14)Пятнадцатиричная (15)Двадцатеричная (20) ⇒ОсновныеДвоичная (2)Восьмеричная (8)Десятичная (10)Шестнадцатеричная (16)ДополнительныеТроичная (3)Четверичная (4)Пятиричная (5)Шестиричная (6)Семиричная (7)Девятиричная (9)Одиннадцатиричная (11)Двенадцатиричная (12)Тринадцатиричная (13)Четырнадцатиричная (14)Пятнадцатиричная (15)Двадцатеричная (20)
Просто введите целое число и выберете системы счисления.

Для примера переведём число 123 из десятеричной системы в другие:

  • в двоичную: 12310 = 11110112
  • в восьмеричную: 12310 = 1738
  • в шестнадцатеричную: 12310 = 7B16
  • в троичную: 12310 = 111203
  • в четверичную: 12310 = 13234
  • в пятиричную: 12310 = 4435
  • в шестиричную: 12310 = 3236
  • в семиричную: 12310 = 2347
  • в девятиричную: 12310 = 1469
  • в одиннадцатиричную: 12310 = 10211
  • в двенадцатиричную: 12310 = A312
  • в тринадцатиричную: 12310 = 9613
  • в четырнадцатиричную: 12310 = 8B14
  • в пятнадцатиричную: 12310 = 8315
  • в двадцатеричную: 12310 = 6320

Арифметика для 2СС

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

Особенности арифметики СС с разными основами:

  • при сложении чисел двух 1 в двоичной системе переполняется младший разряд (сумма = или ˃ основания СС), то единица переходит к большему разряду;
  • если есть 0-1=1, идет заимствование из старшего разряда;
  • умножать 2СС удобнее всего в столбик, учитывая 4 основные правила;
  • заем единиц в 2СС при отнимании/делении, тогда она дает промежуточным разрядам по 1, а для занимаемого разряда сразу 11.

Примеры арифметических операций:

Для удобства разработаны готовые таблицы сложения в различных системах:

Сложение в 8-ой СС                                              в 16СС

С их помощью можно быстро суммировать в различных СС.

Сложение для разных СС на примере 15 и 6:

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

Рассмотрим сумму 438 и 5616. Результат можно выразить в любой СС, но проще привести к 8- или 16-ричной:

 Переводим число 56 в восьмеричную через двоичную:

Умножение в 8-ой СС

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

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

Целую часть числа переводится из десятичной СС в другую систему счисления — последовательным делением целой части числа на основание системы счисления (для двоичной СС — на 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
          2 1

Рис. 1

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

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

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

Рис. 2

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

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

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

Рис. 3

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

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

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

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

Популярные статьи  Соединение конденсаторов: руководство для начинающих

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

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

Рис. 4

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

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

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

    0.125
  x 2
  0.25
  x 2
  0.5
  x 2
1   0.0

Рис. 5

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

Пример 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

Рис. 6

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

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

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

Рис. 7

Получили:

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

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

Система записи — это условность

Представим бредовую ситуацию: у нас не 10 пальцев, а 6. И в школе нас учили считать не десятками, а шестёрками. И вместо привычных цифр мы бы использовали знаки ØABCDE. Ø — это по-нашему ноль, A — 1, B — 2, E — 5.

Вот как выглядели бы привычные нам цифры в этой бредовой системе счисления:

0 — Ø
1 — A
2 — B
3 — C
4 — D
5 — E
6 — AØ
7 — AA
8 — AB
9 — AC
10 — AD
11 — AE
12 — BØ
13 — BA
14 — BB
15 — BC
16 — BD
17 — BE
18 — CØ
19 — CA
20 — CB
21 — CC
22 — CD
23 — CE
24 — DØ
25 — DA
26 — DB
27 — DC
28 — DD
29 — DE
30 — EØ
31 — EA
32 — EB
33 — EC
34 — ED
35 — EE
36 — AØØ
37 — AØA
38 — AØB
39 — AØC
40 — AØD
41 — AØE

В этой системе мы считаем степенями шестёрки. Число ABADØ можно было бы перевести в привычную нам десятичную запись вот так:

A × 64 = 1 × 1296 = 1296

B × 63 = 2 × 216 = 432

A × 62 = 1 × 36 = 36

D × 61 = 4 × 6 = 24

Ø × 6 = 0 × 1 = 0

1296 + 432 + 36 + 24 + 0 = 1788. В нашей десятичной системе это 1788, а у людей из параллельной вселенной это ABADØ, и это равноценно.

Выглядит бредово, но попробуйте вообразить, что у нас в сумме всего шесть пальцев. Каждый столбик — как раз шесть чисел. Очень легко считать в уме. Если бы нас с детства учили считать шестёрками, мы бы спокойно выучили этот способ и без проблем всё считали. А счёт десятками вызывал бы у нас искреннее недоумение: «Что за бред, считать числом AD? Гораздо удобнее считать от Ø до E!»

То, как мы шифруем и записываем числа, — это следствие многовековой традиции и физиологии. Вселенной, космосу, природе и стадам коров глубоко безразлично, что мы считаем степенями десятки. Природа не укладывается в эту нашу систему счёта.

Например, свет распространяется в вакууме со скоростью 299 792 458 метров в секунду. Ему плевать, что нам для ровного счёта хотелось бы, чтобы он летел со скоростью 300 тысяч километров в секунду. А ускорение свободного падения тела возле поверхности Земли — 9,81 м/с2. Так и хочется спросить: «Тело, а ты не могло бы иметь ускорение 10 м/с2?» — но телу плевать на наши системы счисления.

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

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

  1. Позиционные.
  2. Непозиционные.
  3. Унарные.
  4. Смешанные.

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

  1. На калькуляторе выполнить операцию вычитания двух чисел: 12345-12345=0.
  2. Изменить положение математических символов: 12543.
  3. Отнять от исходной величины другую, полученную во втором пункте: 12345-12543=-198.

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

Унарная — система счисления, элемент которой эквивалентен 1. Например, обучение счету в начальных классах при помощи палочек. Во время выполнения каких-либо работ по подсчету компонентов она также используется. Человек рисует крестик, палочку или другой символ, а затем считает их общее количество.

Смешанный тип может включать в себя все 3 системы или 2. Он применяется для подсчета денег, а основными элементами являются мелочь (монеты) и купюры.

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

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

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

Число нужно разделить на новое основание системы счисления. Первый остаток от деления — это и есть первая младшая цифра нового числа. Если частное от деления меньше или равно новому основанию, то его (частное) нужно снова разделить на новое основание. Деление нужно продолжать, пока не получим частное меньше нового основания. Это есть старшая цифра нового числа (нужно помнить, что, например, в шестнадцатиричной системе после 9 идут буквы, т.е. если в остатке получили 11, нужно записать его как B).

Пример («деление уголком»): Переведем число 17310 в восьмеричную систему счисления.

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

Таким образом, 17310=2558

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

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

Популярные статьи  Главный распределительный щит

Пример: Переведем число 0,6562510 в восьмеричную систему счисления.

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

Таким образом, 0,6562510=0,528

3. Перевод смешаных десятичных чисел в любую другую систему счисления.

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

Пример: Переведем число 17,2510 в восьмеричную систему счисления.

По аналогии с пунктом 1: 1710 = 218

По аналогии с пунктом 2: 0,2510 = 0,28

«Склеиваем» два числа и получаем ответ: 17,2510 = 21,28.

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

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

Пример: Переведем число 1011,012 в десятичную систему счисления.

1) Чтобы представить число в разложении по степеням, нужно найти запятую и проставить «карандашиком»
влево и вправо от запятой степени над цифрами числа (слева — неотрицательные степени, т.е. начинаем с нуля;
справа — отрицательные, начиная с -1):

13 02 11 1,
0-1 1-22

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

1011,012 = 1*23 + 0*22 + 1*21 +
1*2 + 0*2-1 + 1*2-2 = =
8 + 0 + 2 + 1 + 0 + 1/22 = 11 + 1/4 = 11 + 0,25 = 11,2510

Ответ: 11,2510.

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

Каждую цифру восьмеричного числа нужно заменить соответствующей двоичной триадой ( * * * ) —
например, для цифры 7 — 111, для 3 — 011. Незначащие нули можно отбросить.

Пример: Переведем число 274,068 в двоичную систему счисления.

Просто заменяем все числа триадами:

2 7 4, 0 6 -> 010 111 100, 000 110

274,068 = 10111100,000112

Ответ: 10111100,000112.

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

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

Пример: Переведем число 1111,01100112 в восьмеричную систему счисления.

Разбиваем на триады и заменяем:

001’111,011’001’100 -> 1’7,3’1’4

1111,01100112 = 17,3148

Ответ: 17,3148.

Откуда же появились эти «триады»?

Да это же степень, в которую нужно возвсти двойку, чтобы получить основание 8!

Очевидно, что для шестнадцатиричной системы счисления появятся тетрады («тетра» — четыре) и т.д.

4 = 22
8 = 23
Триады
16 = 24
Тетрады
32 = 25

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

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

Пример: Переведем число CD2,0416 в двоичную систему счисления.

Разбиваем и заменяем:

C’D’2, 0’4 -> 1100’1101’0010, 0000’0100

CD2,0416 = 110011010010,0000012

Ответ: 110011010010,0000012.

Правила вычитания и деления

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

Для вычитания можно использовать таблицы сложения, а для деления – таблицы умножения и сложения.

Пример вычитания:

\(\begin{matrix} & A & 4 & D & {}_{16} \\ — & & 8 & C & {}_{16} \\ \hline{} &&&&{}_{16} \end{matrix}\qquad\) \(\begin{matrix} & A & 4 & D & {}_{16} \\ — & & 8 & C & {}_{16} \\ \hline{} &&&1&{}_{16} \end{matrix}\qquad\) \(\begin{matrix} & \dot A & 4 & D & {}_{16} \\ — & & 8 & C & {}_{16} \\ \hline{} &&C&1&{}_{16} \end{matrix}\qquad\) \(\begin{matrix} & \dot A & 4 & D & {}_{16} \\ — & & 8 & C & {}_{16} \\ \hline{} &9&C&1&{}_{16} \end{matrix}\qquad\)

Пример деления:

\(\begin{matrix} 8 & D & 6 & {}_{16} \\ & & & \end{matrix}\begin{array}{|llll} D_{16} & \\ \hline{} & \\ \end{array}\)

\(\begin{matrix} & 8 & D & 6 & {}_{16} \\ — & 8 & 2 & & \\ \hline{} & & B & 6 \end{matrix} \begin{matrix} \begin{array}{|llll} D & {}_{16} & \\ \hline{} A \end{array} \\ & \end{matrix}\)

\(\begin{matrix} & 8 & D & 6 & {}_{16} \\ — & 8 & 2 & & \\ \hline{} & & B & 6 \\ & — & B & 6 \\ \hline{} &&& 0 \end{matrix} \begin{matrix} \begin{array}{|llll} D & {}_{16} & \\ \hline{} A & E & {}_{16} \end{array} \\ & \\ & \\ & \end{matrix}\)

Правила преобразования чисел между системами счисления.

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

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

Если дано число \(X\) в P-ичной системе счисления, то для его перевода в десятичную, достаточно записать представление в виде числового ряда в десятичной системе и вычислить получившееся выражение. Другими словами, каждую цифру перевести в десятичную систему, домножить на ее “вес” (в десятичной системе) и сложить полученные числа.

Например:

\

\

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

Рассмотрим разложение числа \(X\) в P-ичной системе счисления:

\

Если разделить \(X\) на \(P\) с остатком, то получим

\ \

то есть \(a_0\) – остаток, а \((a_n P^{n-1} + \ldots + a_1)\) – частное. Если теперь разделить частное на \(P\), получим:

\

Ясно, что мы можем повторить эту процедуру \(n\) раз, и в результате получим \(0\) в частном и \(a_n\) в остатке.

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

Пример:

\ \[ 9283/2 = 4641\;(1)\] \[ 4641/2 = 2320\;(1)\] \[ 2320/2 = 1160\;(0)\] \[ 1160/2 = 580\;(0)\] \[ 580/2 = 290\;(0)\] \[ 290/2 = 145\;(0)\] \[ 145/2 = 72\;(1)\] \[ 72/2 = 36\;(0)\] \[ 36/2 = 18\;(0)\] \[ 18/2 = 9\;(0)\] \[ 9/2 = 4\;(1)\] \[ 4/2 = 2\;(0)\] \[ 2/2 = 1\;(0)\] \[ 1/2 = 0\;(1)\]

Получаем, \

Аналогично, \ \[ 9283/16 = 580\;(3)\] \[ 580/16 = 36\;(4)\] \[ 36/16 = 2\;(4)\] \[ 2/16 = 0\;(2)\] \

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

Смешанная система счисления
это система счисления с основанием \(Q\), в которой для записи цифр используются числа в системе счисления с основанием \(P\).

Пример смешанного двоично-шестнадцатиричного числа: \}_{16} \]

Пример смешанного десятично-шестнадцатиричного числа:

\}_{16} \]

Интересная особенность проявляется в PQ-ичных системах счисления, в которых основание Q – это степень основания P.

Рассмотрим две системы счисления с основаниями \(P\) и \(Q\), причем \(Q = P^k\), где \(m\in\mathbb{N}\). Тогда число \(X\) можно разложить как \ \

Приравняв оба представления и подставив \(Q = P^k\),

\ \ \

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

\ \ \

Получаем, что каждая Q-ичная цифра соответствует P-ичному числу из \(k\) цифр, и наоборот.

Эта связь позволяет легко переводить числа между системами счисления с основаниями \(P\) и \(Q\), если \(Q = P^k\).

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

Для перевода из Q-ичной в P-ичную, каждая Q-ичная цифра переводится в P-ичную систему счисления, и при необходимости дополняется слева нулями до \(k\) цифр.

Пример:

\ \ \ \ \}_{16} = {1011\,1110\,1110\,1111}_{2} \]

Автоматическое составление таблиц сложения и умножения

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

Некоторые примеры:

  • Haskell
  • C++
  • Python
  • JavaScript
  • PHP
  • Онлайн-версия (исходник)
Рейтинг
( Пока оценок нет )
Денис Серебряков/ автор статьи
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: