"Система Тестирования

 

   
  Главное меню

  Главная

------------------------------------------

  Дистанционное обучение

------------------------------------------

  Олимпиада

------------------------------------------

  Библиотека

------------------------------------------

  Справочники

------------------------------------------

  Тестирование on-line

------------------------------------------

  Зачетная книжка

------------------------------------------

  Вход для

  преподавателей

------------------------------------------

 

    

 

Добро пожаловать в пользовательский раздел сайта!

 

Библиотека : Информатика : Системы счисления: Перевод дробных чисел.

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

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

1) Дробную часть числа умножаем на основание новой системы счисления, записанное цифрами старой системы счисления;

2) целую часть полученного числа записываем как цифру дробной части в новой системе счисления, а дробную часть снова умножаем на основание новой системы счисления;

3) пункты 1 и 2 повторяются до тех пор, пока дробная часть числа не станет равной нулю или не образуется последовательность повторяющихся цифр в дробной части, которая составит период.

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

Необходимо отметить, что данное правило наиболее удобно при переводе чисел из системы счисления с основанием 10, в системы счисления с другими основаниями. Рассмотрим примеры.

Пример 1. Перевести десятичное число 17,375 в систему счисления с основанием два.

 

17

2

 

 

 

 

 

0,375∙2

=0,75

 

16

8

2

 

 

 

 

0,75∙2

=1,5

 

1

8

4

2

 

 

 

0,5∙2

=1,0

 

 

0

4

2

2

 

 

 

 

 

 

 

0

2

1

2

 

 

 

 

 

 

 

0

0

0

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

Таким образом: 17,375=10001,011в

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

Пример 2. Перевести десятичное число 15,1 в систему счисления с основанием два.

15

2

 

 

 

 

 

0,1∙2

=0,2

 

14

7

2

 

 

 

 

0,2∙2

=0,4

 

1

6

3

2

 

 

 

0,4∙2

=0,8

 

 

1

2

1

2

 

 

0,8∙2

=1,6

 

 

 

1

0

0

 

 

0,6∙2

=1,2

 

 

 

 

1

 

 

 

0,2∙2

=0,4

 

 

 

 

 

 

 

 

0,4∙2

=0,8

 

 

 

 

 

 

 

 

0,8∙2

=1,6

 

 

 

 

 

 

 

 

0,6∙2

=1,2

 

 

Как видим в результате умножения дробной части на двойку, являющуюся основанием новой системы счисления образуется повторяющаяся группа из четырех цифр, которая и составит период. Ноль, являющийся результатом умножения 0,1 на 2 (первая строка) составит непериодическую часть получившейся дроби.

Таким образом: 15,1=1111,0(0011)в.

Из примера видим, что конечная непериодическая десятичная дробь в двоичной системе счисления является бесконечной периодической дробью.

Пример 3. Перевести десятичное число 161,9 в систему счисления с основанием шестнадцать.

 

161

16

 

 

 

 

 

0,9∙16

=14,4

 

160

10

16

 

 

 

 

0,4∙16

=6,4

 

1

0

0

 

 

 

 

0,4∙16

=6,4

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Уже при втором умножении становится понятно, что в шестнадцатеричной системе счисления дробь будет являться периодической. Учитывая алфавит шестнадцатеричной системы счисления, результат решения примера запишется в виде:

161,9=А1,Е(6)н.

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

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

1)               Пронумеровать позиции в числе: в целой части справа на лево, начиная с нулевой, в дробной части слева на право, начиная с позиции (-1):

 

4

3

2

1

0

 

-1

-2

-3

-4

 

Х

Х

Х

Х

Х

,

Х

Х

Х

Х

 

2)               Составить ряд, представляющий собой сумму произведений каждой цифры числа на основание старой системы счисления возведенное в степень равную номеру позиции цифры в числе:

Xq4+Xq3+Xq2+Xq1+Xq0+Xq-1+Xq-2+Xq-3+Xq-4

3)               Найти сумму ряда, которая и будет являться числом в десятичной системе счисления.

Рассмотрим на примерах реализацию расширенной схемы Горнера для перевода конечных непериодических дробей из систем счисления с основаниями 2, 8, 16 в десятичную систему счисления.

Пример 4. Перевести двоичное число 110100,1101 в десятичную систему счисления.

1) Пронумеруем позиции в числе:

5

4

3

2

1

0

 

-1

-2

-3

-4

 

1

1

0

1

0

0

,

1

1

0

1

 

 

2) Составим ряд:

1∙25+1∙24+0∙23+1∙22+0∙21+0∙20+1∙2-1+1∙2-2+0∙2-3+1∙2-4

3) Найдем сумму ряда:

32+16+0+4+0+0+0,5+0,25+0+0,0625=52,8125

Таким образом, можем записать ответ:

110100,1101в=52,8125.

 

Пример 5. Перевести восьмеричное число 217,142 в десятичную систему счисления.

1) Пронумеруем позиции в числе:

 

 

 

 

2

1

0

 

-1

-2

-3

 

 

 

 

 

2

1

7

,

1

4

2

 

 

 

2) Составим ряд:

2∙82+1∙81+7∙80+1∙8-1+48-2+28-3

3) Найдем сумму ряда:

128+8+7+0,125+0,0625+0,00390625=143,19140625

Таким образом, можем записать ответ:

217,142о=143,19140625.

 

Пример 6. Перевести шестнадцатеричное число 1FA,D8 в десятичную систему счисления.

1) Пронумеруем позиции в числе:

 

 

 

 

2

1

0

 

-1

-2

 

 

 

 

 

 

1

F

A

,

D

8

 

 

 

 

2) Составим ряд:

1∙162+15∙161+10∙160+1316-1+816-2

3) Найдем сумму ряда:

256+240+10+0,8125+0,03125=506,84375

Таким образом, можем записать ответ:

1FA,D8h=506,84375.

 

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

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

Пример 7. Перевести двоичное число 11010,1101 в восьмеричную и шестнадцатеричную системы счисления.

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

 

3

2

 

6

4

0

1

1

0

1

0

,

1

1

0

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) Запишем результат:

11010,1101в=32,64о.

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

 

1

А

 

D

 

0

0

0

1

1

0

1

0

,

1

1

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4) Запишем результат:

11010,1101в=1А,Dh.

 

 

 
 
 
 

Предыдущая

Содержание

Следующая

     
 

 

 

 

 

 
 

Центр компьютерного обучения © 2001 - 2020 г.