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




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

Число 101.112 в двоичной системе счисления означает одну четвёрку, одну единицу, одну половинку и одну четвертинку. Если сложить, получится всего 5.7510.

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

Шестнадцатеричная система счисления содержит 16 цифр - это цифры от 0 до 9 (соответствуют десятичным цифрам) и буквы от A до F, соответствие которых десятичным эквивалентам можно запомнить, а можно каждый раз в уме подсчитывать (1010 - это А16, 1110 - это B16, 1210 - это C16, 1310 - это D16, 1410 - это E16, а 1510 - это F16).

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

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

И поэтому, если в данный момент Вам ещё не понятно что-то с шестнадцатеричной системой счисления, то я рекомендовал бы Вам ещё раз прочитать и поглубже разобраться с тем, что написано выше на этой странице.

Непозиционные системы счисления

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

Хотя, строго говоря, римская система счисления не является полностью непозиционной. Так, меньшая цифра, записанная перед большей, вычитается из неё, а записанная после большей - прибавляется (то есть, значение цифры всё-таки зависит от позиции). Например, IVримская=410, в то время как VIримская=610.

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

Для практического применения имеет смысл запомнить первые 16 строк этой таблицы (для чисел от 0 до 15). Но если разобраться в том, как эта таблица устроена, можно не запоминать, а научиться легко вычислять соответствие в уме.

Десятичная Двоичная Восьмеричная Шестнадцатеричная Римская
        отсутствует
        I
        II
        III
        IV
        V
        VI
        VII
        VIII
        IX
      A X
      B XI
      C XII
      D XIII
      E XIV
      F XV
        XVI
        XVII
        XVIII
        XIX
        XX
И так далее
Перевод чисел из десятичной системы счисления в любую другую
             

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

Перевод целой части

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

Например, перевод - числа 25 из десятичной системы счисления в двоичную будет выглядеть следующим образом:

Выписав остатки в обратном порядке, получим 2510=110012.

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

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

Выписав остатки в обратном порядке, получим 39310=18916.

Нужно понимать, что остатки получаются в десятичной системе счисления. При делении на 16 могут появиться остатки не только от 0 до 9, но также и остатки от 10 до 15. Каждый остаток - это всегда ровно одна цифра в той системе счисления, в которую осуществляется перевод.

Например, если при переводе в шестнадцатеричную систему счисления Вы получили такие остатки (выписаны в порядке, как они должны быть записаны в числе): 10, 3, 15, 7, то в шестнадцатеричной системе счисления этой последовательности остатков будет соответствовать число A3F716 (некоторые по ошибке записывают число как 10315716 - понято же, что это совсем другое число, и что если так делать, то получится, что ни в каком шестнадцатеричном числе не появится цифры от A до F).

Перевод дробной части

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

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

При этом существует два условия завершения процесса:

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

2) не все числа возможно перевести точно. В таком случае обычно переводят с некоторой точностью. При этом сначала определяют, сколько знаков после запятой будет нужно - именно такое количество раз и нужно будет выполнить операцию умножения.

Вот пример перевода числа 0.3910 в двоичную систему счисления. Точность - 8 разрядов (в данном случае точность перевода выбрана произвольно):

Если выписать целые части в прямом порядке, то получим 0.3910=0.011000112.

Самый первый ноль (на рисунке перечёркнут синим) выписывать не нужно - так как он относится не к дробной части, а к целой. Некоторые по ошибке записывают этот ноль после запятой, когда выписывают результат.

Вот так будет выглядеть перевод числа 0.3910 в шестнадцатеричную систему счисления. Точность - 8 разрядов в данном случае точность снова выбрана произвольно:

Если выписать целые части в прямом порядке, то получим 0.3910=0.63D700A316.

При этом Вы, наверное, заметили, что целые части при умножении получаются в десятичной системе счисления. Эти целые части, полученные при переводе дробной части числа следует интерпретировать точно так же, как и остатки при переводе целой части числа. То есть, если при переводе в шестнадцатеричную систему счисления целые части получились в таком порядке: 3, 13, 7, 10, то соответствующее число будет равно 0.3D7A16 (а не 0.31371016, как некоторые иногда ошибочно записывают).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: