Перевод дробных чисел. Дробное число с основанием N1 переводится в систему счисления с основанием N2 путем последовательного умножения An1 на основание N2

Дробное число с основанием N1 переводится в систему счисления с основанием N2 путем последовательного умножения An1 на основание N2, записанное в виде числа с основанием N1. При каждом умножении целая часть произведения берется в виде очередной цифры соответствующего разряда, а оставшаяся дробная часть принимается за новое множимое. Число умножений определяет разрядность полученного результата, представляющего число An1 в системе счисления N2.

Проверку правильности перевода можно выполнить используя веса разрядов Веса разрядов 0,5 0,25 0,125 0,0625

, 1 0 1

А10= 0,5+0,125=0,625;

1/8 1/64 1/512 …

А10= 1/8*5=0,625

1/16 1/256

А10= А*1/16=10*1/16=0,625

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

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

А10 = 456

 

4 5 6

А2-10 = 100 0101 0110

 

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

1. Определяем количество разрядов n >= log2 A10. Так как нумерация разрядов начинается с нуля, то вес максимального разряда будет вычисляться 2n-1.

2. Проставляем 1 в старшем разряде. Вычитаем из числа вес разряда и переходим к боле младшему разряду.

3. Сравниваем значение числа с весом текущего разряда. Если значение числа больше веса разряда, то проставляем в соответствующем разряде 1 и вычитаем из числа вес разряда, иначе проставляем в соответствующем разряде 0. Переходим к боле младшему разряду.

4. Пункт 3 повторяем до заполнения значениями все разряды числа.

 

Пример.

А10 = 45.

1. n>= log245 = 6.

2. ® 1, А10 = 45 -32 = 13

3. 13 < 16 ® 0

4. 13 > 8 , ® 1, А10 =16 – 13 =5

5. 5 > 4 ® 1 , А10 = 5 – 4

6. 1 < 2 , ® 0

7. 1=1, ® 1

Полученное число А2 = 101101. Проверка А10 = 32+8+4+1 = 45.

Перетворення методом Горнера

Для того, щоб перетворювати числа з двійкової в десяткову систему даним методом, треба cкласти цифри зліва направо, перемножуючи раніше отриманий результат на основу системи (в даному випадку 2).

1) 0*2+1=1

2) 1*2+1=3

3) 3*2+1=7

4) 7*2+1=15

5) 15*2+1=31

6) 31*2+0=62

7) 62*2+1=125

8) 125*2+0=250

9) 250*2+0=500

10) 500*2+0=1000

11) 1000*2+0=2000

12) 2000*2+1=4001

13) 4001*2+1=8003

14) 8003*2+1=16007

 

111110100001112 1600710

 

 








Дата добавления: 2016-10-17; просмотров: 680;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.