• Двоичная система счисления. Системы счисления

    30.11.2023

    Впервые позиционная система счисления возникла в древнем Вавилоне. В Индии система работает в виде

    позиционной десятичной нумерации с использованием нуля, у индусов данную систему чисел

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

    называть арабской.

    Позиционная система — значение всех цифр зависит от позиции (разряда) данной цифры в числе.

    Примеры, стандартная 10-я система счисления - это позиционная система. Допустим дано число 453.

    Цифра 4 обозначает сотни и соответствует числу 400, 5 — кол-во десятков и соответствует значению 50,

    а 3 — единицы и значению 3. Легко заметить, что с увеличением разряда увеличивается значение.

    Таким образом, заданное число запишем в виде суммы 400+50+3=453.

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

    Здесь только 2 цифры - это 0 и 1. Основание двоичной системы - число 2.

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

    Во всех разрядах возможна лишь одна цифра — или нуль, или единица.

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

    это число в виде последовательности нулей и единиц.

    Пример: 10112 = 1*2 3 + 0*2*2+1*2 1 +1*2 0 =1*8 + 1*2+1=1110

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

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

    в изображение на экране.

    Сложение, вычитание и умножение двоичных чисел.

    Таблица сложения в двоичной системе счисления:

    10 (перенос в

    старший разряд)

    Таблица вычитания в двоичной системе счисления:

    (заём из старшего

    разряда) 1

    Пример сложения «столбиком» (14 10 + 5 10 = 19 10 или 1110 2 + 101 2 = 10011 2):

    + 1 1 1 0
    1 0 1
    1 0 0 1 1

    Таблица умножения в двоичной системе счисления:

    Пример умножения «столбиком» (14 10 * 5 10 = 70 10 или 1110 2 * 101 2 = 1000110 2):

    * 1 1 1 0
    1 0 1
    + 1 1 1 0
    1 1 1 0
    = 1 0 0 0 1 1 0

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

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

    основания 2:

    Начиная с цифры один каждая цифра умножается на 2. Точка, стоящая после 1, называют двоичной точкой .

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

    Пусть, есть двоичное число 110001 2 . Для перевода в десятичное записываем его в виде суммы по

    разрядам следующим образом:

    1 * 2 5 + 1 * 2 4 + 0 * 2 3 + 0 * 2 2 + 0 * 2 1 + 1 * 2 0 = 49

    Немного по другому:

    1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49

    Также хорошо записывать расчет как таблицу:

    Двигаемся справа налево. Под всеми двоичными единицами записываем её эквивалент строчкой ниже.

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

    Задание: перевести число 1011010, 101 2 в десятичную систему.

    Записываем заданное число в таком виде:

    1*2 6 +0*2 5 +1*2 4 +1*2 3 +0 *2 2 + 1 * 2 1 + 0 * 2 0 + 1 * 2 -1 + 0 * 2 -2 + 1 * 2 -3 = 90,625

    Другой вариант записи:

    1*64+0*32+1*16+1*8+0*4+1*2+0*1+1*0,5+0*0,25+1*0,125 = 90,625

    Либо в виде таблицы:

    0.25

    0.125

    0.125

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

    Пусть, необходимо перевести число 19 в двоичное. Можем сдеать это таким образом:

    19 /2 = 9 с остатком 1

    9 /2 = 4 c остатком 1

    4 /2 = 2 без остатка 0

    2 /2 = 1 без остатка 0

    1 /2 = 0 с остатком 1

    То есть, каждое частное делится на 2 и записывается остаток в конец двоичной записи. Деление

    продолжается до того момента, когда в частном не будет нуля. Итог пишем справа налево. Т.е. нижняя

    цифра (1) будет крайней левой и так далее. Итак, у нас получилось число 19 в двоичной записи: 10011.

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

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

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

    • Дробь умножается на основание двоичной системы счисления (2);
    • В полученном произведении выделяется целая часть, которая принимается в качестве старшего

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

    • Алгоритм завершается, если дробная часть полученного произведения равна нулю или если

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

    дробной частью произведения.

    Пример : Нужно перевести дробное десятичное число 206,116 в дробное двоичное число.

    Переведя целую часть, получаем 206 10 =11001110 2 . Дробная часть 0,116 умножается на основание 2,

    заносим целые части произведения в разряды после запятой:

    0,116 . 2 = 0,232

    0,232 . 2 = 0,464

    0,464 . 2 = 0,928

    0,928 . 2 = 1,856

    0,856 . 2 = 1,712

    0,712 . 2 = 1,424

    0,424 . 2 = 0,848

    0,848 . 2 = 1,696

    0,696 . 2 = 1,392

    0,392 . 2 = 0,784

    Результат: 206,116 10 ≈ 11001110,0001110110 2

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

    1. Из десятичной системы счисления:

    • делим число на основание переводимой системы счисления;
    • находим остаток от деления целой части числа;
    • записываем все остатки от деления в обратном порядке;

    2. Из двоичной системы счисления:

    • для перевода в десятичную систему счисления находим сумму произведений основания 2 на

    соответствующую степень разряда;

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

    Перевод числа из двоичной системы в десятичную. Возьмем любое двоичное число, например 10,112. Запишем его в развернутой форме и произведем вычисления:

    10,112 = 1* 21 +0*2° + 1*2-1 + 1*2-2 = 1*2 + 0*1 + 1*1/2 + 1*1/4 = 2,7510.

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

    Возьмем любое восьмеричное число, например 67,58. Запишем его в развернутой форме и произведем вычисления:

    67,58 = 6*81 + 7*8° + 5*8-1 = 6*8 + 7*1 + 5*1/8 = 55,62510.

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

    Возьмем любое шестнадцатеричное число, например 19F16. Запишем его в развернутой форме (при этом необходимо помнить, что шестнадцатеричная цифра F соответствует десятичному числу 15) и произведем вычисления:

    19F16 = 1*162 + 9*161 + F*16° = 1*256 + 9*16 + 15*1 = 41510.

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

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

    Aцд= an-1*2n-1+ an-2*2n-2+…+ a1*21+a0*20

    На первом шаге разделим число А на основание двоичной системы, то есть на 2. Частное от деления будет равно

    an-1*2n-2+ an-2*2n-3+…+ a1

    На втором шаге целое частное опять разделим на 2, остаток от деления будет теперь равен a0

    Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков:

    а0, а1, ..., аn-1

    Легко заметить, что их последовательность совпадает с обратной последовательностью цифр целого двоичного числа, записанного в свернутой форме:

    А2 = an-1…a1a0

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

    Алгоритм перевода целого десятичного числа в двоичное будет следующим:

    Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получится частное, меньшее делителя, то есть меньшее 2.

    Записать полученные остатки в обратной последовательности.

    В качестве примера рассмотрим перевод десятичного числа 19 в двоичную систему, записывая результаты в таблицу:

    В результате получаем двоичное число: А2 = а 4 а 3а 2а1 a0 = 100112.

    Алгоритм перевода правильных десятичных дробей в двоичную систему счисления. Пусть А - правильная десятичная дробь. В ее записи в развернутой форме будут отсутствовать положительные степени основания (числа 2):

    Адд = a-1*2-1+ a-2*2-2

    На первом шаге умножим число Адд на основание двоичной системы, то есть на 2. Произведение будет равно:

    a-1 +a-2*2-1+…

    Целая часть будет равна а-1

    На втором шаге оставшуюся дробную часть опять умножим на 2, получим целую часть, равную а-2

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

    Легко заметить, что последовательность полученных чисел совпадает с последовательностью цифр дробного двоичного числа, записанного в свернутой форме:

    Алгоритм перевода правильной десятичной дроби в двоичную будет следующим:

    • 1. Последовательно выполнять умножение исходной десятичной дроби и получаемых дробных частей произведений на основание системы (на 2) до тех пор, пока не получится нулевая дробная часть или не будет достигнута требуемая точность вычислений.
    • 2. Записать полученные целые части произведения в прямой последовательности.

    В качестве примера рассмотрим перевод десятичной дроби 0,75 в двоичную систему, записывая результаты в таблицу:


    В результате получаем двоичную дробь: А2 = 0,а -1a-2=0,112 .

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

    Рассмотрим алгоритм перевода целых чисел на примере перевода целого десятичного числа А10 = 42410 в шестнадцатеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 16.

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



    Рассмотрим теперь алгоритм перевода дробных чисел на примере перевода десятичной дроби А10 = 0,625 в восьмеричную систему, то есть из системы счисления с основанием р = 10 в систему счисления с основанием q = 8.

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

    Перевод чисел между системами счисления, основания которых являются степенями числа 2 (q = 2n), может производиться по более простым алгоритмам. Такие алгоритмы могут применяться для перевода чисел между двоичной (q = 21), восьмеричной (q = 23) и шестнадцатеричной (q = 24) системами счисления.

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

    2 = 21 . Так как 2 - 21, то I = 1 бит.

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

    8 = 2i . Так как 8 = 23, то I= 3 бита. Каждый вариант восьмеричного числа содержит 3 бита информации

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

    Переведем таким способом двоичное число 1010012 в восьмеричное:518

    Для упрощения перевода можно заранее подготовить таблицу преобразования двоичных триад (групп по 3 цифры) в восьмеричные цифры:

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

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

    Переведем целое двоичное число А2 = 1010012 в шестнадцатеричное:

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

    Например, преобразуем дробное двоичное число А2 = = 0,1101012 в восьмеричную систему счисления:

    Получаем: А8 = 0,658.

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

    Для записи шестнадцатеричных чисел используются шестнадцать цифр, то есть в каждом разряде числа возможны 16 вариантов записи. Решаем показательное уравнение:

    16 = 21 . Так как 16 = 24, то I = 4 бита.

    Каждый разряд шестнадцатеричного числа содержит 4 бита информации.

    Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше 4 цифр, то необходимо дополнить её справа нулями.

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

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

    Например, преобразуем дробное восьмеричное число А8 = 0,478 в двоичную систему счисления:

    В двоичной системе счисления используются всего две цифры 0 и 1. Другими словами, двойка является основанием двоичной системы счисления. (Аналогично у десятичной системы основание 10.)

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

    В десятичной системе счисления мы располагаем десятью знаками-цифрами (от 0 до 9). Когда счет достигает 9, то вводится новый разряд (десятки), а единицы обнуляются и счет начинается снова. После 19 разряд десятков увеличивается на 1, а единицы снова обнуляются. И так далее. Когда десятки доходят до 9, то потом появляется третий разряд – сотни.

    Двоичная система счисления аналогична десятичной за исключением того, что в формировании числа участвуют всего лишь две знака-цифры: 0 и 1. Как только разряд достигает своего предела (т.е. единицы), появляется новый разряд, а старый обнуляется.

    Попробуем считать в двоичной системе:
    0 – это ноль
    1 – это один (и это предел разряда)
    10 – это два
    11 – это три (и это снова предел)
    100 – это четыре
    101 – пять
    110 – шесть
    111 – семь и т.д.

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

    Не трудно заметить, что в двоичной системе счисления длины чисел с увеличением значения растут быстрыми темпами. Как определить, что значит вот это: 10001001? Непривычный к такой форме записи чисел человеческий мозг обычно не может понять сколько это. Неплохо бы уметь переводить двоичные числа в десятичные.

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

    1476 = 1000 + 400 + 70 + 6

    1476 = 1 * 10 3 + 4 * 10 2 + 7 * 10 1 + 6 * 10 0

    Посмотрите на эту запись внимательно. Здесь цифры 1, 4, 7 и 6 - это набор цифр из которых состоит число 1476. Все эти цифры поочередно умножаются на десять возведенную в ту или иную степень. Десять – это основание десятичной системы счисления. Степень, в которую возводится десятка – это разряд цифры за минусом единицы.

    Аналогично можно разложить и любое двоичное число. Только основание здесь будет 2:

    10001001 = 1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0

    1*2 7 + 0*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 128 + 0 + 0 + 0 + 8 + 0 + 0 + 1 = 137

    Т.е. число 10001001 по основанию 2 равно числу 137 по основанию 10. Записать это можно так:

    10001001 2 = 137 10

    Почему двоичная система счисления так распространена?

    Дело в том, что двоичная система счисления – это язык вычислительной техники. Каждая цифра должна быть как-то представлена на физическом носителе. Если это десятичная система, то придется создать такое устройство, которое может быть в десяти состояниях. Это сложно. Проще изготовить физический элемент, который может быть лишь в двух состояниях (например, есть ток или нет тока). Это одна из основных причин, почему двоичной системе счисления уделяется столько внимания.

    Перевод десятичного числа в двоичное

    Может потребоваться перевести десятичное число в двоичное. Один из способов – это деление на два и формирование двоичного числа из остатков. Например, нужно получить из числа 77 его двоичную запись:

    77 / 2 = 38 (1 остаток)
    38 / 2 = 19 (0 остаток)
    19 / 2 = 9 (1 остаток)
    9 / 2 = 4 (1 остаток)
    4 / 2 = 2 (0 остаток)
    2 / 2 = 1 (0 остаток)
    1 / 2 = 0 (1 остаток)

    Собираем остатки вместе, начиная с конца: 1001101. Это и есть число 77 в двоичном представлении. Проверим:

    1001101 = 1*2 6 + 0*2 5 + 0*2 4 + 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 64 + 0 + 0 + 8 + 4 + 0 + 1 = 77

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

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

    Примером позиционной формы записи чисел является та, которой мы пользуемся (так называемая арабская форма чисел). Так, в числах 123 и 321 значения цифры 3, например, определяются ее положением в числе: в первом случае она обозначает три единицы (т.е. просто три), а во втором – три сотни (т.е. триста).

    Тогда полное число получается по формуле:

    где l – количество разрядов числа, уменьшенное на 1,

    i – порядок разряда,

    m – основание системы счисления,

    a i – множитель, принимающий любые целочисленные значения от 0 до m -1, и соответствующий цифре i -го порядка числа.

    Например, для десятичного (m = 10) числа 345 его полное значение рассчитывается по формуле:

    3*10 2 + 4*10 1 + 5*10 0 = 345.

    Римские числа являются примером полупозиционной системы образования числа: так, в числах IX и XI знак I обозначает в обоих случаях единицу (признак непозиционной системы), но, будучи расположенным слева от знака X (обозначающего десять), вычитается из десяти, а при расположении справа – прибавляется к десяти. В первом случае полное значение числа равно 9, во втором – 11.

    В современной информатике используются в основном три системы счисления (все – позиционные): двоичная, шестнадцатеричная и десятичная.

    Двоичная система счисления используется для кодирования дискретного сигнала, потребителем которого является вычислительная техника. Такое положение дел сложилось исторически, поскольку двоичный сигнал проще представлять на аппаратном уровне. В этой системе счисления для представления числа применяются два знака – 0 и 1.

    Шестнадцатеричная система счисления используется для кодирования дискретного сигнала, потребителем которого является хорошо подготовленный пользователь – специалист в области информатики. В такой форме представляется содержимое любого файла, затребованное через интегрированные оболочки операционной системы, например, средствами Norton Commander в случае MS DOS. Используемые знаки для представления числа – десятичные цифры от 0 до 9 и буквы латинского алфавита – A, B, C, D, E, F.

    Десятичная система счисления используется для кодирования дискретного сигнала, потребителем которого является так называемый конечный пользователь – неспециалист в области информатики (очевидно, что и любой человек может выступать в роли такого потребителя). Используемые знаки для представления числа – цифры от 0 до 9.

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

      для двоичных чисел – нижний индекс справа от числа в виде цифры 2 или букв В либо b (binary – двоичный), либо знак B или b справа от числа. Например, 101000 2 = 101000 b = 101000 B = 101000B = 101000b;

      для шестнадцатеричных чисел - нижний индекс справа от числа в виде числа 16 или букв H либо h (hexadecimal – шестнадцатеричный), либо знак H или h справа от числа. Например, 3AB 16 = 3AB H = 3AB h = 3ABH = 3ABh.

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

    Правила перевода целых чисел

    Результатом перевода целого числа всегда является целое число.

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

    а) исходное целое число делится на основание системы счисления, в которую переводится (на 2 - при переводе в двоичную систему счисления или на 16 - при переводе в шестнадцатеричную); получается частное и остаток;

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

    в) все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;

    г) формируется результирующее число: его старший разряд – полученное последнее частное, каждый последующий младший разряд образуется из полученных остатков от деления, начиная с последнего и кончая первым. Таким образом, младший разряд полученного числа – первый остаток от деления, а старший – последнее частное.

    Пример 1 . Выполнить перевод числа 19 в двоичную систему счисления:

    Таким образом, 19 = 10011 2 .

    Пример 2 . Выполнить перевод числа 19 в шестнадцатеричную систему счисления:

    Таким образом, 19 = 13 16 .

    Пример 3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:

    Здесь остаток 11 преобразован в шестнадцатеричную цифру В) и после этого данная цифра вошла в число. Таким образом, 123 = 7В 16 .

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

    В этом случае рассчитывается полное значение числа по известной формуле .

    Пример 4. Выполнить перевод числа 13 16 в десятичную систему счисления. Имеем:

    13 16 = 1*16 1 + 3*16 0 = 16 + 3 = 19.

    Таким образом, 13 16 = 19.

    Пример 5. Выполнить перевод числа 10011 2 в десятичную систему счисления. Имеем:

    10011 2 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16+0+0+2+1 = 19.

    Таким образом, 10011 2 = 19.

    а) исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;

    б) каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей .

    Двоичное число

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

    Пример 6. Выполнить перевод числа 10011 2 в шестнадцатеричную систему счисления.

    Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:

    В соответствии с таблицей 0011 2 = 11 2 = 3 16 и 0001 2 = 1 2 = 1 16 .

    Тогда 10011 2 = 13 16 .

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

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

    Двоичное число

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

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

    б) незначащие нули в результирующем числе отбрасываются.

    Пример 7. Выполнить перевод числа 13 16 в двоичную систему счисления.

    По таблице имеем:

      1 16 = 1 2 и после дополнения незначащими нулями двоичного числа 1 2 = 0001 2 ;

      3 16 = 11 2 и после дополнения незначащими нулями двоичного числа 11 2 = 0011 2 .

    Тогда 13 16 = 00010011 2 . После удаления незначащих нулей имеем 13 16 = 10011 2 .

    В из восьмеричной в двоичную аналогично.

    Правила перевода правильных дробей

    Напомним, что правильная дробь имеет нулевую целую часть, т.е. у нее числитель меньше знаменателя.

    Результат перевода правильной дроби всегда правильная дробь.

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

    а) исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);

    б) в полученном произведении целая часть преобразуется в цифру нужной системы счисления и отбрасывается – она является старшей цифрой получаемой дроби;

    в) оставшаяся дробная часть (это правильная дробь) вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б);

    г) процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;

    д) формируется искомое число: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.

    Пример 1 . Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой.

    Таким образом, 0,847 = 0,1101 2 .

    В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.

    Пример 2. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

    В данном примере также процедура перевода прервана.

    Таким образом, 0,847 = 0,D8D 16 .

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

    В этом случае рассчитывается полное значение числа по формуле , причем коэффициенты a i принимают десятичное значение

    Пример 3 . Выполнить перевод из двоичной системы счисления в десятичную числа 0,1101 2 .

    0,1101 2 = 1*2 -1 + 1*2 -2 + 0*2 -3 +1*2 -4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.

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

    Таким образом, 0,1101 2 = 0,8125.

    Пример 4 . Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D 16 .

    0,D8D 16 = 13*16 -1 + 8*16 -2 + 13*16 -3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.

    Расхождение полученного результата с исходным числом (см. пример 2 ) вызвано тем, что процедура перевода в шестнадцатеричную дробь была прервана.

    Таким образом, 0,D8D 16 = 0,84692.

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

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

    б) каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей .

    Пример 5 . Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,1101 2 .

    В соответствии с таблицей 1101 2 = D 16 . Тогда 0,1101 2 = 0,D 16 .

    Пример 6 . Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,0010101 2 .

    Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль:

    В соответствии с таблицей 0010 2 = 10 2 = 2 16 и 1010 2 = A 16 .

    Тогда 0,0010101 2 = 0,2A 16 .

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

    а) каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей ;

    б) незначащие нули отбрасываются.

    Пример 7 . Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А 16.

    По таблице имеем 2 16 = 0010 2 и А 16 = 1010 2 .

    Тогда 0,2А 16 = 0,00101010 2 .

    Отбросим в результате незначащий ноль и получим окончательный ответ: 0,2А 16 = 0,0010101 2

    Правило перевода дробных чисел (неправильных дробей)

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

    Результат перевода неправильной дроби всегда неправильная дробь.

    При переводе отдельно переводится целая часть числа, отдельно – дробная. Результаты складываются.

    Пример 1 . Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.

    Представим исходное число как сумму целого числа и правильной дроби:

    19,847 = 19 + 0,847.

    Как следует из примера 2 раздела Перевод целых чисел 19 = 13 16 , а в соответствии с примером 2 раздела Перевод правильных дробей 0,847 = 0,D8D 16 .

    Тогда имеем:

    19 + 0,847 = 13 16 + 0,D8D 16 = 13,D8D 16 .

    Таким образом, 19,847 = 13,D8D 16 .

    Правила выполнения простейших арифметических действий

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

    Правила сложения

    Таблица сложения двоичных цифр имеет вид (желтым цветом выделены значения суммы):

    Пример 1 . Сложить двоичные числа 1101 и 11011.

    Процесс образования суммы по разрядам описан ниже:

    а) разряд 1: 1 2 + 1 2 = 10 2 ; 0 остается в разряде 1, 1 переносится в разряд 2;

    б) разряд 2: 0 2 + 1 2 + 1 2 = 10 2 , где вторая 1 2 – единица переноса; 0 остается в разряде 2, 1 переносится в разряд 3;

    в) разряд 3: 1 2 + 0 2 + 1 2 = 10 2 , где вторая 1 2 – единица переноса; 0 остается в разряде 3, 1 переносится в разряд 4;

    г) разряд 4: 1 2 + 1 2 + 1 2 = 11 2 , где третья 1 2 – единица переноса; 1 остается в разряде 4, 1 переносится в разряд 5;

    д) разряд 5: 1 2 + 1 2 = 10 2 ; где вторая 1 2 – единица переноса; 0 остается в разряде 5, 1 переносится в разряд 6.

    Таким образом: 1 1 0 1 2 +1 1 0 1 1 2 = 10 1 0 0 0 2 .

    Проверим результат. Для этого определим полные значения слагаемых и суммы (см. Перевод целых чисел ):

    1101 2 = 1*2 3 +1*2 2 + 0*2 1 + 1*2 0 = 8 + 4 + 1 = 13;

    11011 2 = 1*2 4 + 1*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16 + 8 + 2 + 1 = 27;

    101000 2 = 1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 + 0*2 1 + 0*2 0 = 32 + 8 = 40.

    Поскольку 13 + 27 = 40, двоичное сложение выполнено верно.

    Таблица сложения некоторых шестнадцатеричных чисел имеет вид (обозначения строк и столбцов соответствуют слагаемым):

    Пример 2 . Сложить шестнадцатеричные числа 1С и 7В.

    Запишем слагаемые в столбик и пронумеруем разряды, присвоив младшему разряду номер 1:

    Процесс образования результата по разрядам с использованием приведенной таблицы описан ниже:

    а) разряд 1: С 16 + В 16 = 17 16 ; 7 остается в разряде 1; 1 переносится в разряд 2;

    б) разряд 2: 1 16 + 7 16 + 1 16 = 9 16 , где вторая 1 16 – единица переноса.

    Таким образом: 1 С 16 + 7 В 16 = 9 7 16 .

    Проверим результат. Для этого определим полные значения слагаемых и результата (см. Перевод целых чисел ):

    1С 16 = 1*16 1 + 12*16 0 = 16 + 12 = 28;

    7В 16 = 7*16 1 + 11*16 0 = 112 + 11 = 123;

    97 16 = 9*16 1 + 7*16 0 = 144 + 7 = 151.

    Поскольку 28 + 123 = 151, сложение выполнено верно.

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

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

    Пример 3 . Вычесть из двоичного числа 101 двоичное число 11.

    В разделе на вопрос как перейти из десятичной системы счисления в двоичную? заданный автором Ђатьяна Татьяна лучший ответ это Преобразование десятичных чисел в двоичные

    Допустим, нам нужно перевести число 19 в двоичное. Вы можете воспользоваться следующей процедурой:

    19 /2 = 9 с остатком 1
    9 /2 = 4 c остатком 1
    4 /2 = 2 с остатком 0
    2 /2 = 1 с остатком 0
    1 /2 = 0 с остатком 1

    Итак, мы делим каждое частное на 2 и записываем в остаток 1 или 0. Продолжать деление надо пока в делимом не будет 1. Ставим числа из остатка друг за другом, начиная с конца. В результате получаем число 19 в двоичной записи (начиная с конца) : 10011.

    удачи))

    Ответ от Rosella [гуру]

    Чтобы перевести 19 в двоичное, выбираем в верхнем ряду наибольшее число, которое без остатка делится на 19. В нашем случае это 16. (До 19 нехватает еще 3) След число, которое делится без остатка на 3, это 2. (Остается 1) 1 делится на 1 без остатка. выбрали числа 16 - 2 - 1. Под ними пишем "1", под остальными "0". Получаем 10011.
    Достаточно громоздко выглядит на словах. Но если присмотреться к таблице - ничего сложного в ней нет. Она быстро запоминается и никакая ручка и бумага не нужна для перевода.

    Похожие статьи