Тема 3.2 Арифметические операции в позиционных системах счисления

Тема 3.2 Арифметические операции в позиционных системах счисления


Задачи и их решения по информатике и математике
Тема 3.1 Позиционные и непозиционные системы счисления -->> Тема 4.1 Алгебра логики

Тема 3.2 Арифметические операции в позиционных системах счисления

Двоичная система счисления
Представим число как сумму степеней двойки и выписываем коэффициенты такого представления. При записи числа в различных системах счисления договоримся указывать основание используемой системы, справа внизу, после самого числа.
Так, в десятичной системе счисления, основание которой равно 10, различают 10 арабских цифр - 0, 1, 2, ..., 9.
Восьмеричная система счисления
В восьмеричной системе счисления числа записываются с помощью восьми цифр 0,1,2,3,4,5,6,7,например 26158
Пример.  Переведем число из десятичной системы счисления в восьмеричную 
Шестнадцатеричная система счисления
Для записи чисел  в шестнадцатеричной системе  необходимо располагать уже шестнадцатью различными символами, используемыми как цифры.  В качестве первых десяти шестнадцатеричных цифр записываются те же, что и в десятичной системе. Для обозначения остальных шестнадцати цифр (в десятичной системе они соответствуют числам 10,11,12,13,14,15) используют буквы латинского алфавита – A, B,C, D, E, F.
Пример. Переведем число 110112 в десятичную систему счисления. Это число пяти разрядное. Запишем сверху разряды 0, 1, 2, 3, 4 и произведем действия:
Переход от записи числа при основании 2 к записи при основании 8
В основе этого перехода лежит представление чисел от 0 до 7 в двоичной системе счисления. Составим табличку:   
В верхней строке таблицы записаны цифры, используемые в системе счисления с основанием 8, а под ними – записи соответствующих чисел в двоичной системе счисления, так называемые триады.
Пример. Пусть имеем число 1010100112. Разобьем его справа налево на грани по три цифры в каждой. Начальная (старшая) грань может содержать три, две или одну цифру. Имеем 101010011. Но каждая из этих граней в системе с основанием 8 дает одну из цифр 0,1,2,3,4,5,6,7. Получим число 5238.
Пример.  Если имеется число, записанное в восьмеричной системе счисления, то для перевода его в  двойную достаточно вместо каждой цифры данного числа записать соответствующую ей триаду. Так число 733336538 равно 1110110110110111101010112.
Пример. Переход от десятичной системы, к двоичной, лучше осуществлять с помощью восьмеричной системы. Пусть, например, нужно число 17210 представит в двоичной системе счисления. Получаем (при последовательном делении 172 на 8) 17210= 2548 = 0101011002 = 101011002. Переводить десятичное число в восьмеричное легче, а переход от восьмеричной системы к двоичной очень прост.
Переход от записи числа при основании 2 к записи при основании 16
Так как двоичное, восьмеричная и шестнадцатеричная системы связаны через степени числа 2 . то преобразование между ними можно выполнять другим более простым способом.      
         Преобразуемое двоичное число разбивают в право и в лево от границы целой и дробной части на группы по 4 двоичные цифры (тетрады) затее каждую группу двоичных цифр выражают одной шестнадцатеричной цифрой:
Например, для перевода из шестнадцатеричной системы счисления в двоичную достаточно записать шестнадцатеричные коды цифр тетрадами:
16 = 000111102= 111102.
Так как 8 = 23, то для перевода чисел из двоичной системы в восьмеричную производится разбивка чисел на группы по три двоичных цифры (триады): 1011112 = 578.
Пример. Даны три числа 6710, 11100012, 7816. Каждое из этих чисел представить в двух других видах.
1). Преобразуем десятичное число 67 в двоичную форму. Основание исходной системы счисления 10. Основание новой системы счисления 2. Согласно приведенному правилу надо исходное число 67 делить на основание новой системы (на 2) по правилам десятичной системы счисления (исходная с/с).
2). Переведем число 11100012,  в десятичную форму записи. Это число семи разрядное. Запишем сверху разряды 0, 1, 2, 3, 4, 5, 6 и произведем действия:
Теперь переведем число 11100012 в шестнадцатеричную форму записи. Разделим это число на группы с права на лево на тетрады, с лева добавим один нуль,  и воспользуемся таблицей 2 из теоретических сведений:
01112=716  и  00012=116  , получим 11100012=716.
3). Преобразуем 7816 в двоичную и десятичную системы счисления.
Воспользуемся таблицей 2 из теоретических сведений, получим
716=01112 и   816=10002 тогда 7816=011110002 или 7816=11110002
Теперь переведем число 7816 в десятичную систему счисления:
7816=7*161 + 8*160 =12010.
Ответ: 7816=12010.
Сложение чисел в двоичной системе
При сложении трех и более чисел двоичной системы, рациональней всего сложить первые два числа, а затем к полученной сумме добавить третье, ко вновь полученной,  добавить четвертое и т.д.
Давайте проверим. Переведите эти числа из двоичной в десятичную систему и выполните сложение десятичных чисел.
 
Вычитание чисел в двоичной системе
 

Теперь переведем числа из двоичной в десятичную системы и проверим.
2 способ. Вычитание двоичных чисел в дополнительном ходе.
Вычитаемое представить в обратном ходе по полной сетке уменьшаемого, т.е. вместо 0 подставить 1, а вместо 1 подставить 0.
 К полученному вычитаемому добавить единицу в самый младший разряд и мы получим вычитаемое в дополнительном ходе. Сложить исходное уменьшаемое с вычитаемым в дополнительном ходе и отбросить все единицы за пределами сетки уменьшаемого.
 Проверьте полученный результат, переведя числа в десятичную систему счисления.
Пример. Сложить числа 210 и 310 по правилам двоичной арифметики, получив их представление с длиной разрядной сетки равной восьми. Результат проверить.
При сложении чисел надо обязательно проговаривать алгоритм сложения. Следует учитывать, что сложение, как обычно, нужно начинать с младшего разряда. Если сумма единиц разряда окажется равной или большей основания системы счисления, то возникает перенос единицы в старший разряд. После сложения следует обязательно сделать обратный перевод и убедиться, что число 1012 — действительно число 5 в десятичной системе счисления.
 
Пример. Найти разность чисел 1410 и 910 по правилам двоичной арифметики, получив их представление с длиной разрядной сетки равной шестнадцати. Результат проверить.
В компьютере вычитание заменяется сложением с отрицательным числом, представленным в дополнительном коде.
   
      14            1110           0000000000001110
       -9         + 1001        +1111111111110111  
        5               101        100000000000001012
    Так как под целое число отводится 16 разрядов, то старшая единица теряется. Ответ получается 1012.
Правило умножения двоичных чисел
Правило. При умножении двоичных чисел выполняются те же правила, что и в десятичной системе, т.е. умножение производится со сдвигом влево для каждого следующего разряда. Причем умножение на нуль можно опустить, т.к. при умножении на нуль результатом будет нуль.
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Проверьте полученный результат переведя числа из двоичной в десятичную систему счисления.