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

Предположим, что правильное дробное число Х уже переведено в новую позиционную систему счисления с основанием b. Тогда число Х может быть записано в виде

X=a1b–1 + a2b–2 ++ amb–m.

Умножим левую и правую части этого выражения на основание системы счисления b:

X·b=a1+(a2b–1 +a3b–2++ amb–m+1).

В правой части этого выражения есть целая часть a1 и дробная часть, заключенная в скобки. Таким образом, после первого умножения дробного числа Х на основание системы счисления получили первую цифру числа Х в новой системе счисления.

Умножим теперь часть последнего выражения, стоящую в скобках, на основание b новой системы счисления. Получим:

(a2b–1 +a3b–2++ amb–m+1b= a2+(a3b–1 +a4b–2++ amb–m+2).

В правой части выражения снова имеем целую и дробную части. Получили вторую цифру a2 числа Х в новой системе счисления.

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

Пример 6. Перевести из десятичной системы счисления в двоичную дробное число 0,34375, ограничиваясь шестью знаками.

Ответ: Х=0,34375(10)=0,010110(2). Проверка: 010110(2)=0×2–1 + 1×2–2 + 0×2–3 +

+ 1×2–4 + 1×2–5 + 0×2–6=1/4 + 1/16 + 1/32 = 0,25 + 0,0625 +0,03125 = 0,34375(10). Получился точный ответ.

 
 

Пример 7. Перевести число Х=0,0111 из двоичной системы в десятичную с тремя знаками после десятичной запятой.

 

Ответ: 0,0111(2) =0,437(10). Получился неточный ответ, т. к. в дробной части последней строки не все цифры нулевые. Точный ответ: 0,0111(2) =0,4375(10).

В этом примере перевод двоичного числа в десятичную систему счисления сводится к умножению дробной части на основание системы счисления 1010(2)=10(10). Нам неудобно делать вычисления в недесятичной системе. Поэтому на практике перевод чисел из недесятичной системы счисления в десятичную сводится к подсчету суммы произведений степеней основания на соответствующую цифру, как это сделано в примере 5. При этом расчеты ведутся в десятичной системе счисления.

Перевод числа в данном примере: 0,0111(2) = 0×2–1+1×2–2+1×2–3+1×2–4 = =0,25+0,125+0,0625=0,4375(10).








Дата добавления: 2015-08-08; просмотров: 951;


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

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

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

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