Системы счисления: различия между версиями

Содержимое удалено Содержимое добавлено
м Откат правок 193.218.138.68 (обс.) к версии 87.255.193.190
Метка: откат
Строка 67:
=== Преобразование чисел ===
Такое представление чисел обозначает вот такое число: <math>a_{n-1} f^{n-1} + ... + a_1 f^1 + a_0 f^0</math>, где <math>a_0, a_1, ..., a_{n-1}</math> — цифры, а <math>f</math> — основание системы счисления.
 
Посмотрим чему равны числа из примеров. Используем только что приведённую формулу:
* <math>25_{10} \rightarrow 2 \cdot 10^1 + 5 \cdot 10^0 = 2 \cdot 10 + 5 \cdot 1 = 25_{10}</math>;
* <math>31_{8} \rightarrow 3 \cdot 8^1 + 1 \cdot 8^0 = 3 \cdot 8 + 1 \cdot 1 = 25_{10}</math>;
* <math>221_3 \rightarrow 2 \cdot 3^2 + 2 \cdot 3^1 + 1 \cdot 3^0 = 2 \cdot 9 + 2 \cdot 3 + 1 \cdot 1 = 25_{10}</math>;
* <math>11001_2 \rightarrow 1 \cdot 2^4 + 1 \cdot 2^3 + 0 \cdot 2^2 + 0 \cdot 2^1 + 1 \cdot 2^0 = 1 \cdot 16 + 1 \cdot 8 + 0 \cdot 4 + 0 \cdot 2 + 1 \cdot 1 = 25_{10}</math>.
 
Мы разобрали, как узнать, чему равно число в любой системе счисления. Но как нам получить это число? Представим что у нас есть некоторое число <math>A</math>, и мы хотим получить его представление в системе по основанию <math>f</math>. Как нам это сделать?
 
Мы знаем, что число <math>A</math> можно представить в виде <math>a_{n-1} a_{n-2} ... a_{0f}</math>, будем из этого исходить. Что будет, если мы поделим это число на <math>f</math>. Получим
 
<center><math>{{a_{n-1} f^{n-1}+ ... a_2 f^2+a_1 f^1+a_0 f^0} \over f} = a_{n-1} f^{n-2}+ ... +a_2 f^1+a_1 f^0</math></center>
и остаток от деления <math>a_0</math>. Почему <math>a_0</math>? Все члены суммы делятся на <math>f</math> без остатка, а последний член <math>a_0</math> в результате деления даёт <math>0</math> и <math>a_0</math> в остатке, так как максимальное значение цифры всегда на единичку меньше основания системы. Итак мы получили самую правую цифру <math>a_0</math>, как остаток от деления, и число <math>a_{n-1} a_{n-2} ... a_{1f}</math>, как результат деления числа <math>A</math> на <math>f</math>. Если мы так будем продолжать делить, то получим все цифры <math>a_1, a_2 ... a_{n-1}</math>.
 
Возьмём для примера полюбившееся нам число <math>25</math> и получим представление этого числа в двоичной системе счисления:
 
* <math>25/2 = 12</math>, остаток <math>1</math>;
* <math>12/2 = 6</math>, остаток <math>0</math>;
* <math>6/2 = 3</math>, остаток <math>0</math>;
* <math>3/2 = 1</math>, остаток <math>1</math>;
* <math>1/2 = 0</math>, остаток <math>1</math>.
 
Что и следовало ожидать, получили: <math>11001_2</math>.
 
Представим число 25 в троичной системе счисления:
 
* <math>25/3 = 8</math>, остаток <math>1</math>;
* <math>8/3 = 2</math>, остаток <math>2</math>;
* <math>2/3 = 0</math>, остаток <math>2</math>.
 
Получили число: <math>221_3</math>.
 
Для закрепления наших знаний проделаем вычисления для восьмеричной и десятичной систем счисления.
 
Восьмеричная система счисления:
* <math>25/8 = 3</math>, остаток <math>1</math>;
* <math>3/8 = 0</math>, остаток <math>3</math>.
 
Результат: <math>31_8</math>.
 
Десятичная система счисления:
* <math>25/10 = 2</math>, остаток <math>5</math>;
* <math>2/10 = 0</math>, остаток <math>2</math>.
 
Результат: <math>25_{10}</math>.
 
Чтобы ещё лучше понять перевод в различные системы счислений, посмотрим, какие трансформации происходят внутри числа <math>4567_{10}</math>.
 
Представим это число в виде
 
<center><math>4 \cdot 10^3+5 \cdot 10^2+6 \cdot 10^1+7 \cdot 10^0=4 \cdot 1000+5 \cdot 100+6 \cdot 10+7</math>.</center>
 
Посмотрим, что у нас получится при последовательном делении на <math>10</math>:
* делим на <math>10</math>, получаем <math>4 \cdot 100+5 \cdot 10+6</math> и <math>7</math> в остатке;
* делим ещё раз на <math>10</math>, получаем <math>4 \cdot 10+5</math> и <math>6</math> в остатке;
* и ещё раз делим на <math>10</math>, получаем <math>4</math> и <math>5</math> в остатке;
* делим в последний раз на <math>10</math>, получаем <math>0</math> и <math>4</math> в остатке.
 
=== Шестидесятеричная система счисления ===