ПРЕДСТАВЛЕНИЕ  ИНФОРМАЦИИ 

В  КОМПЬЮТЕРЕ  

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

 

 
Алгоритмы перевода из десятичной системы счисления
 
Алгоритм 1 Перевод целого десятичного числа методом поэтапного деления
Перевод десятичного числа в другую систему счисления может выполняться разными способами. При этом надо учитывать, что алгоритмы перевода целых чисел и правильных дробей будут отличаться. Для смешанного числа целая и дробная части переводятся отдельно по соответствующим алгоритмам. В итоговой записи искомого они объединяются и разделяются запятой.
 
Алгоритм 2 Перевод целого десятичного числа N в позиционную систему с основанием p
Так называемый метод поэтапного деления заключается в последовательном целочисленном делении исходного числа на основание той системы счисления, в которую осуществляется перевод.
1. Разделить нацело число N на p.
2. Запомнить полученный остаток
3. Полученное частное снова разделить нацело на p и снова запомнить полученный остаток, и т. д.
4. Такое последовательное деление продолжается до тех пор, пока частное не станет меньше делителя.
5. Полученные остатки и последнее частное записать в соответствии с алфавитом р-ичной системы счисления.
6. Составить число, записываюя остатки начиная с последнего.  
Переведем десятичное число 2010 в двоичную систему счисления (основание системы счисления p=2).
В итоге получили 2010 = 101002.
20/2 = 10 (ост. 0)
10/2 = 5 (ост. 0)
5/2 = 2 (ост. 1)
2/2 = 1 (ост. 0)
1/2 = 0 (ост. 1)
 
Переведем десятичное число 20010 в шестнадцатеричную систему счисления (основание системы счисления p=16).
В итоге получили 20010 = С816.
200/16 = 12 (ост. 8)
12/16 = 0 (ост. 12=С16)
 
 
Алгоритм 3 Перевод целого десятичного числа методом разностей
Для перевода чисел этим методом удобно пользоваться таблицей соответствия базиса новой системы счисления и эквивалентов исходной системы счисления.
Для начала необходимо разложить число по базису той системы, в которую осуществляется перевод. Другими словами, нужно получить сумму степеней новой системы счисления, равную исходному числу. Это можно сделать по следующему алгоритму.
Алгоритм разложения числа по базису новой системы счисления:
1. Найти по таблице степень новой системы, ближайшую по величине к исходному числу, но не больше исходного числа — это будет первый член суммы.
2. Найти разность между исходным числом и степенью.
3. Найти по таблице степень, ближайшую к разности, — это второй член суммы.
4. Найти разность между числом, из которого выделяли степень, и степенью.
5. Так поступать, пока разность не станет равной числу, входящему в алфавит искомой системы.
Остаётся заменить полученные степени соответствующими эквивалентами новой системы счисления (по таблице) и подсчитать сумму, которая и есть искомое число.
 
Пример 1. Перевести число 10110 в двоичную систему счисления.

Решение

Составим таблицу соответствия для двоичной и десятичной систем.

Степень числа 2  Десятичное значение  Двоичное значение
 20  1  1
 21  2  10
 22  4  100
 23  8  1000
 24  16  10000
 25  32  100000
 26  64  1000000
 27  128  10000000
 28  256  100000000
 29  512  1000000000
 210  1024  10000000000

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

10110 =6410 +3210 +410+110 =10000002 +1000002 +1002 +12 =11001012 .

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

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

Решение

Разложим число по собственному базису и, пользуясь таблицей из примера 1, заменим числа их десятичными эквивалентами:

11001012 =10000002 +1000002 +1002 +12 = 6410 + 3210 + 810 +110 = 10510.

 
Алгоритм 4 Перевод правильной десятичной дроби

1. Умножить данное число на новое основание p.

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

3. Дробная часть полученного произведения вновь умножается на p, и целая часть результата считается следующей цифрой искомой дроби.

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

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

а)0,37510->0,X2

   q=10, p=2

   0,375х2 = 0,75(0)

   0,75х2 = 1,5(1)

   0,5х2 =1,0(1)

____________________________

б)0,37510-> 0,X3 

   q=10, p=3

   0,375х3 = 1,125(1)

   0,125х3 = 0,375(0)

   0,375х3 = 1,125(1)

____________________________

в) 0,37510 -> 0,X16

   q=10, p= 16

   0,375x16 = 6,0(6)

____________________________

 

Результат: а) 0,37510 = 0,0112 ; б) 0,37510 = 0,1013 ; в) 0,37510 = 0,616.
 
Пример 2. Перевести десятичное число 167,6875 в двоичную, троичную и шестнадцатеричную системы счисления.
Решение
Переведем целую часть числа:
а)16710->X2
   q=10, p=2
167/2 = 83(ост. 1)
83/2 = 41(ост. 1)
41/2 = 20(ост.1)
20/2 = 10(ост.0)
10/2 = 5(ост.0)
5/2 = 2(ост.1)
2/2 = 1(ост.0)
1/2 = 0(ост.1)
Х2 =  101001112
____________________________
б)16710-> X3 
   q=10, p=3
167/3 = 55(ост.2)
55/3 = 18(ост.1)
18/3 = 6(ост.0)
6/3 = 2(ост.0)
2/3 = 0(ост.2)
 
Х3 = 200123
____________________________
 
  
в) 16710 -> X16
   q=10, p= 16
167/16 = 10(ост.7)
10/16 = 0(ост.10=А16)
 
Х16 = А716 
____________________________
 
а)0,37510->0,X2
   q=10, p=2
   0,375х2 = 0,75(0)
   0,75х2 = 1,5(1)
   0,5х2 =1,0(1)
   0,37510->0,0112

____________________________

б)0,37510-> 0,X3 
  q=10, p=3
   0,375х3 = 1,125(1)
   0,125х3 = 0,375(0)
   0,375х3 = 1,125(1)
    0,37510-> 0,1013

____________________________

  
в) 0,37510 -> 0,X16
   q=10, p= 16
   0,375x16 = 6,0(6)
    0,37510 -> 0,(6)16
____________________________ 
 Коротко о главном
  •  Перевод десятичных чисел в другую систему счисления может выполняться разными методами.
  •  Метод поэтапного деления заключается в последовательном целочисленном делении исходного числа и получаемых неполных частных на основание новой системы счисления. Остатки от деления составляют искомое число.
  •  Метод разностей основан на разложении числа по базису той системы, в которую осуществляется перевод, и использовании таблицы соответствия базиса новой системы и эквивалентов исходной системы счисления.
  •  При переводе смешанных десятичных чисел целая и дробная части исходного числа переводятся отдельно по соответствующим алгоритмам и объединяются в получаемом числе.
Дата последнего обновления страницы 10.06.2018
Сайт создан по технологии «Конструктор сайтов e-Publish»