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

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

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

 

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

 

 

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

 

1234,7778 = 001 010 011 100, 111 111 1112 = 1 010 011 100, 111 111 1112;

 

12345678 = 001 010 011 100 101 110 1112 = 1 010 011 100 101 110 1112;

 

123456,0078 = 001 010 011 100 101 110,000 000 1112 =

= 1 010 011 100 101 110, 000 000 1112.

 

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

 

11001112 = 001 100 1112 = 1478;

 

11,10012 = 011, 100 1002 = 3,448;

 

110,01112 = 110, 011 1002 = 6,348.

 

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

 

1234,АВ7716 = 0001 0010 0011 0100,1010 1011 0111 01112 =

= 1 0010 0011 0100,1010 1011 0111 01112;

 

СE456716= 1100 1110 0100 0101 0110 01112;

 

0,1234АА16 = 0,0001 0010 0011 0100 1010 10102;

 

11001112 = 0110 01112 = 6716;

 

110,01110012 = 0110, 0111 00102 = 6,7216.

 

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

 

12345678 = 001 010 011 100 101 110 1112 = 0101 0011 1001 0111 01112 = =5397716;

 

0,120348 = 0,001 010 000 011 1002 = 0,0010 1000 0011 10002 = 0,283816;

 

120,348 = 001 010 000, 011 1002 = 0101 0000,0111 00002 = 50,716;

 

1234,АВ7716 = 0001 0010 0011 0100, 1010 1011 0111 01112 =

= 001 001 000 110 100,101 010 110 111 011 1002 = 11064,5267348;

 

СЕ456716 = 1100 1110 0100 0101 0110 01112 =

= 110 011 100 100 010 101 100 1112 =634425478;

 

0,1234АА16 = 0, 0001 0010 0011 0100 1010 10102 =

= 0,000 100 100 011 010 010 101 0102= 0,044322528.

 

 

Для того чтобы перевести десятичное число в систему счисления с основанием n надо:

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

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

 

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

 

           
-146          
-72        
-36      
  -18    
    -8  
      -4
        -2
А2 = 100100112  
             

 

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

 

 
-144
-16
   
А8 = 2238

 

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

-144
 
А16 = 9316