Общие сведения о системах счисления
Система счисления — это способ записи чисел с помощью символов (цифр), подчиняющийся определённым правилам.
Системы счисления делятся на два типа:
- Позиционные. Значение числа зависит от положения цифры в записи числа. Например, числа 45 и 54 имеют разное значение, так как в первом случае 4 — это количество десятков, а во втором — единиц.
- Непозиционные. Значение числа не зависит от положения цифр в числе. Например, в римской системе счисления принятые обозначения: I – 1, V – 5, X – 10, L – 50, C – 100, D – 500, M – 1000.
Более подробно рассмотрим позиционные системы счисления. Каждая система счисления состоит из определенного набора возможных цифр, например, десятичная система счисления состоит из цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9; а шестнадцатеричная система счисления состоит не только из привычных нам цифр, но и из латинских букв: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Давайте тогда сформулируем общее правило для всех позиционных систем счисления: алфавит системы счисления – это перечень символов, используемый в конкретной системе счисления. Алфавит может содержать как десятичные цифры, так и латинские буквы, если основание системы счисления более 10.
По сути алфавит любой системы счисления (назовем ее Х) должен состоять из цифр от 0 до Х-1 или X ∈ [0; X-1].
Любое число в позиционно системе счисления можно представить в двух формах записи: свернутой и развернутой. Развёрнутая форма числа – это запись, которая представляет собой сумму произведений цифр числа на значение позиций (степени основания системы счисления). Позиция цифры в числе называется разрядом, разряд возрастает справа налево, от младших разрядов к старшим. Пример: 123 = 100 + 20 + 3 = 1 * 10^2 + 2 * 10^1 + 3 * 10^0.
Свёрнутая форма записи числа – это последовательность цифр, стоящих на своих разрядах.
Перевод чисел из десятичной системы счисления
Для перевода чисел из десятичной системы счисления необходимо исходное число разделить на основание системы счисления, в которую необходимо перевести число. Это деление необходимо выполнять до тех пор, пока частное не станет меньше системы счисления в которую мы переводим исходное число. Эти правила касаются целой части числа, для дробной части необходимо выполнять умножение дробной части на основание системы счисления. Рассмотрим пример: переведем число 111,25 из десятичной системы счисления в двоичную, восьмеричную и шестнадцатеричную системы счисления.
Перевод числа в двоичную систему счисления
- Перевести целую часть десятичной дроби в двоичную систему счисления. Для этого число делят на основание двоичной системы счисления (2) и записывают в обратном порядке остатки, из которых складывается искомое число.
- Дробную часть десятичной дроби умножают на основание двоичной системы счисления.
- В полученном произведении выделяют целую часть, которая принимается в качестве значения первого после запятой разряда числа в двоичной системе счисления.
- Алгоритм завершается, если дробная часть полученного произведения равна нулю или если достигнута требуемая точность вычислений. В противном случае вычисления продолжаются с предыдущего шага.
- Из целых частей получившихся произведений записывают в прямом порядке искомое число.
Перевод числа в восьмеричную и шестнадцатеричную систему счисления
Перевод числа в восьмеричную и шестнадцатеричную систему счисления аналогичен переводу в двоичную систему счисления, но теперь необходимо производить умножение и деление на 8.
Перевод чисел в десятичную систему счисления
Для перевода числа из любой системы счисления в десятичную необходимо представить исходное число в развернутой форме записи: представить исходное число как сумму произведений значений каждого разряда на основание системы счисления в той степени, в которой находится разряд. Например: двоичное число 101011,11 в двоичной системе счисления будет выглядеть в развернутой форме следующим образом: 101011,11 = 1 * 2^5 + 0 * 2^4 + 1 * 2^3 + 0 * 2^2 + 1 * 2^1 +1 * 2^0 + 1 * 2^(-1) + 1 * 2^(-2) = 32 + 0 + 8 + 0 + 2 + 1 + 0.5 + 0.25 = 43,75.
Перевод чисел из двоичной системы счисления в восьмеричную и шестнадцатеричную системы счисления и наоборот
Предположим, что у нас имеется двоичное число и нам необходимо его перевести в восьмеричную и шестнадцатеричную систему счисления. Самым простым способом будет перевести исходное число в десятичную систему счисления, а уже потом перевести десятичное число в восьмеричную и шестнадцатеричную систему счисления. С одной стороны, это довольно удобно, с другой - этот способ трудоемкий и долгий. Между различными системами счисления есть взаимосвязь: 2^3 = 8 ^ 1; 2^4 = 16 ^ 1, таким образом получается, что три двоичных знака - это один восьмеричный и наоборот и четыре двоичных знака - один шестнадцатеричный.
Перевод двоичных чисел в восьмеричные - использование триад
Для быстрого перевода двоичного числа в восьмеричное число необходимо исходное число разбить на участки по три символа (если на участке не три символа - можно дополнить его незначащими нулями), такие участки называются триадами и рассматриваются как отдельные числа. И тут снова есть два варианта: воспользоваться таблицей, связывающей различные системы счисления или представить каждую триаду как сумму произведений значений разрядов на 2 в степени этого разряда в текущей триаде.
Перевод двоичных чисел в шестнадцатеричные- использование тетрад
Для быстрого перевода двоичного числа в шестнадцатеричное число необходимо исходное число разбить на участки по четыре символа (если на участке не четыре символа - можно дополнить его незначащими нулями), такие участки называются тетрадами и рассматриваются как отдельные числа.
В статье были использованы материалы поиска Яндекс.
^ - обозначение степени числа, например: 10^2 = 100.