Метод деления/умножения

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

Пример 1. Перевести десятичное число 15710 в двоичный код, результат проверить.

число делитель остаток
  2_____________1 (младший разряд) 2_____________0 2_____________1 2_____________1 2_____________1 2_____________0 15710 = 100111012 2_____________0 2_____________1 (старший разряд)

Проверка: 100111012 = 1×27 + 0×26 + 0×25 +1×24 + 1×23 + 1×22 + 0×21 + 1×20 =

= 128 + 16 + 8 + 4 +1 =15710.

Пример 2. Перевести десятичное число 15710 в восьмеричный код, результаты проверить.

число делитель остаток
  8_____________5 (младший разряд) 8_____________3 15710 = 2358 8_____________ 2 (старший разряд)

Проверка: 2358 = 2×82 + 3×81 + 5×80 = 128 + 24 + 5 = 15710.

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

число делитель остаток
    16_____________13 (младший разряд) 16_____________9 (старший разряд) 15710=9D16
       

Проверка: 9D16 = 9×161 + 13×160 = 144 + 13 = 15710.

Для облегчения работы с двоичными кодами желательно знать наизусть десятичные значения чисел 2n от n = 0 до n = 15.

Таблица 2.1

n                              
2 n                              

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

Пример 1. Перевести десятичную дробь 0.38610 в двоичную систему счисления с точностью до 2-7.

0.3697 0.7394 0.4788 0.9576 0.9152 0.8304 0.6608

´ 2´ 2´ 2 ´ 2´ 2´ 2´ 2

0.7394 1.4788 0.9576 1.9152 1.8304 1.6608 1.3216

направление чтения

Искомое число в двоичном коде будет равно 0.369710 = 0.01011112

Произведем проверку перевода:

0.01011112 = 0×2-1 +1×2-2 +0×2-3 + 1×2-4 +1×2-5 + 1×2-6 + 1×2-7 =0.3671.

Пример 2. Перевести 0.369710 = в восьмеричный код с точностью q -1.

0.3697 0.7394 0.6608

´ 8´ 8´ 8

2.9576 7.6608 5.2864

направление чтения

Восьмеричный код числа 0.369710 = 0.2758.

Проверка перевода: 0.2758 = 2×8-1 + 7×8-2 + 5×8-3 = 0.369110.

Пример 3. Перевести число 0.369710 в шестнадцатеричный код с точностью q -2.

0.3697 0.7394

´ 16´ _ 16

5.9152 14.6432

направление чтения

Шестнадцатеричный код числа 0.369710 = 0.5E16

Проверка перевода дает: 0.5E16 = 5×16-1 + 14×16-2 =0.367210.

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

Метод вычитания. На первом шаге определяется старший разряд двоичного числа n для переводимого десятичного числа N0 из условия

2 n +1 > N 0 ³ 2 n

и в этот разряд вписывается единица. Затем из исходного числа N0 вычитается 2 n, и находится первая разность: D N 1 = N 0 – 2 n

Для этой разности находится следующая максимальная степень числа 2 (в порядке убывания), и производится вычитание, а в соответствующий разряд вписывается единица. Эта процедура продолжается до тех пор, пока десятичное число не станет равным нулю. Разряды, в которых отсутствуют единицы, заполняются нулями.

Пример 1. Перевести десятичное число 9910 в двоичный код.

  Операция вычитания   26 25 24 23 22 21 20
1 27 > 99 > 26 = 64, a 6 = 1 26              
  99 – 64 =35, 26 > 36 > 25, a 5 = 1 25        
  35 – 32 = 3, 22 > 3 > 21, a 1 = 1 21     9910      
  3 – 2 = 1, 1 = 20, a 0 = 1 20              

В итоге имеем 8310 = 10100112.

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

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

  Операция вычитания     2-1 2-2 2-3 2-4 2-5
1 0.689 – 2-1= 0.189 2-1= 0.500 а 1 = 1 2-1          
  0.189 – 2-3 = 0.064,2-3= 0.125 а 2 = 1 2-2          
  0.084 – 2-4= 0.0015, 2-4= 0.0625 а 3 = 1 2-3 0,687510
  0.0015 – остаток 2-5= 0.03125 а 4 = 1 2-4          

Подобным образом переводятся десятичные числа в восьмеричный и шестнадцатеричный коды.

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

Пример 3. (235.275)8 = 010 011 101. 010 111 1018-2 = 10011101.0101111012

210 310 510 210 710 510

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

Пример 4. 10101.01112 = 010 101. 011 1008-2 = 25.348

210 510 310 410

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

Пример 5. 9D.5E16 = 1001 1101. 0101 111016-2 = 10011101.01011112.

910 1310 510 1410

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

Пример 6. 111100.101012 = 0111 1100. 1010 100016-2 = 7C.A816

710 1210 1010 810

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

Двоично - десятичная система счисления BD (Binary Decimals) имеет основание d = 10, и каждая цифра (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) изображается в этой системе счисления четырехразрядным двоичным числом, называемым тетрадой. Она используется в ЭВМ не только в качестве вспомогательной системы счисления при вводе и выводе данных, но и в качестве основной при решении задач, когда в ЭВМ вводится и выводится большое количество чисел, а вычислений над ними производится мало. Десятичные числа в двоично-десятичной системе счисления кодируются в прямом нормально-взвешанном коде 8-4-2-1, т.е. каждую цифру десятичного числа необходимо заменить соответствующей тетрадой двоичных чисел.

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

Пример 7. 91.3710 = 1001 0001. 0011 11112-10

910 110 310 710

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

Пример 8. 11001.001112-10 = 0001 1001. 0011 1000 = 19.3810

110 910 310 810

В таблице 2.2 приведены изображения десятичных чисел 0...20 в двоичном, восьмеричном и шестнадцатеричном кодах.

Таблица 2.2

Десятичное число Двоичный код Восьмеричный код Шестнадцатеричный код
       
       
       
       
       
       
       
       
       
       
      A
      B
      C
      D
      E
      F
       
       
       
       
       

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

Таблица 2.3

Десятичная Двоичное кодирование десятичной цифры
цифра код код Код код 2 из 5 код с избыт. 6 код с избыт. 3
             
             
             
             
             
             
             
             
             
             

Код 7421 отличается тем, что любая кодовая комбинация содержит не более двух единиц. В коде 2 из 5 все кодовые комбинации содержат только две единицы из пяти. Это свойство используется для выявления ошибок в кодовых комбинациях (любое отклонение от этого указывает на ошибку).

При выполнении арифметических операций широко используется самодополняющиеся коды, инверсия двоичных цифр, в которых дает дополнение до 9. Таким свойством обладают код 2421, код с избытком 3, код с избытком 6. Например, в коде с избытком 6 цифре 0 соответствует кодовая комбинация 0110, ее инверсия 1001 соответствует цифре 9 (в коде 8-4-2-1), сумма этих чисел 0 и 9 дает 9 (1111) и т.д.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: