Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Перевод десятичных чисел в другие системы счисления

Читайте также:
  1. B матрице A[1..N,1..M] упорядочить элементы столбца. содержащего наибольшее количество отрицательных чисел, по убыванию.
  2. Gis la! – Пока в переводе с эсперанто. 1 страница
  3. Gis la! – Пока в переводе с эсперанто. 10 страница
  4. Gis la! – Пока в переводе с эсперанто. 11 страница
  5. Gis la! – Пока в переводе с эсперанто. 12 страница
  6. Gis la! – Пока в переводе с эсперанто. 13 страница
  7. Gis la! – Пока в переводе с эсперанто. 14 страница

Рассмотрим перевод десятичных чисел в системы счисления с другими основаниями. Подойдем к этой проблеме с общей математической позиции.

Сначала получим правила перевода целого числа. Обозначим целое число через Х. Основание системы счисления, в которую будем переводить, обозначим p. В результате перевода получится (n+1)- разрядное число. Запишем это следующим образом:

 

 

Здесь α0 обозначает цифру нулевого разряда числа, α1 – цифру первого разряда и т.д. Значения этих цифр лежат в диапазоне от 0 до р-1. Запишем значение числа в системе p в развернутом виде и преобразуем к скобочной форме.

 

=

Отсюда нетрудно понять, что α0 равно остатку от целочисленного деления Х на р, а Х1 – частное от целочисленного деления Х на р. Применяя символику языка Паскаль, запишем: α0=X mod p, X1=X div p. Здесь div – знак операции целого деления, а mod – остатка от деления. Таким образом, найдена α0 - цифра нулевого разряда числа в p-ичной системе.

Теперь запишем число Х1 в скобочной форме:

 

По аналогии с предыдущим следует, что α1=X1 mod p – остаток от деления Х1 на р; X2=X1 div p. Найден α1 - первый разряд искомого числа.

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

Задача 1. Перевести число 58 в троичную систему счисления.

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

58: 3 = 19 (1)

19: 3 = 6 (1)

6: 3 = 2 (0)

2: 3 = 0 (2)

 

Окончательный результат такой: 58=20113. Это равенство мы уже получали в предыдущем параграфе.

 

Теперь рассмотрим перевод десятичной дроби в систему счисления с основанием р. Пусть Y – дробное десятичное число: Y<1. Очевидно, что в системе с основание р оно также будет дробным числом, поскольку 1 в любой системе счисления обозначает одну и ту же величину. Число, равное Y в системе р, запишем в развернутой форме.

Умножим это равенство на р:

Отсюда видно, что α-1 – это целая часть произведения Y·p, а Y1 – дробная часть этого произведения. Далее выпишем Y1 и умножим его на р:

 

 

Теперь α-2 стало целой частью произведения Y1·p. Очевидно, что дальше нужно умножать на р значение Y2. Выделив его целую часть, получим третью цифру дробного числа - α-3. И так далее.

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

 

Задача 2. Перевести десятичную дробь 0,625 в двоичную систему счисления.

 

Будем последовательно умножать это число на 2, выделяя целую часть произведения:

0,625·2 = 1,25 0,25·2 = 0,5 0,5·2 = 1,0 1 – первая цифра 0 – вторая цифра 1 – третья цифра Дальше нули

В итоге получили: 0,625 = 0,1012

 

Вторая ситуация – получение периодической дробной части. В таком случае последовательные умножения надо продолжать до выделения периода.

 

Задача 3. Перевести число 0,246 в пятеричную систему счисления.

 

0,246·5=1,23 0,23·5=1,15 0,15·5=0,75 0,75·5=3,75 0,75·5=3,75  

Далее пойдет периодическое повторение цифры 3. Результат получился таким:

0,246=0,110(3)5.

 

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

Чаще всего при переводе десятичной дроби в другую систему счисления получают приближенный результат с заданной точностью. Например, требуется перевести число 0,21 в восьмеричную систему счисления с точностью до 7 цифр. Выполняется перевод числа до 8 цифр после запятой: 0,21=0,15341217…8. Затем производится округление до 7-й цифры: 0,21≈0,15341228. Заметим, что в этом случае к последней цифре нужно прибавлять единицу, если первая отбрасываемая цифра ≥4, т.к. 8/2=4.

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

 

Практическое задание №2

Выполнить перевод следующих десятичных чисел в другие системы счисления:

А) 2134→X5; 2134→X2; 2134→X16

Б) 0,12→X5; 0,12→X2; 0,12→X16 (дробные числа переводить с сохранением 5 цифр после запятой)

 


Дата добавления: 2015-08-10; просмотров: 125 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Схема Горнера и перевод чисел| Смешанные системы счисления

mybiblioteka.su - 2015-2024 год. (0.007 сек.)