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

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

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

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

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

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

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



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