59. Позиционные системы счисления. Перевод целых и дробных чисел из десятичной системы счисления . Перевод целых и дробных чисел в десятичную систему счисления. . Пример в MS Exсel.
Система счисления — это определенный способ представления чисел и соответствующие ему правила действия над числами. Сущность позиционного представления чисел отражается в развернутой форме записи чисел
ab = an bn + an-1 bn-1 + . . . + a1 b1 + a0 b0 + a-1 b-1 + . . . a-m b-m,
где {а } - алфавит системы счисления, i – позиция, b - основание системы, …, b-2 , b-1 , 1, b, b2 , b3 , …, bn , … базис
Перевод чисел из произвольной системы счисления в десятичную (b=10)
Такой перевод осуществляется по правилам десятичной с помощью формулы
ab = an bn + an-1 bn-1 + . . . + a1 b1 + a0 b0 + a-1 b-1 + . . . a-m b-m,
Пример. 10111012 - >Х10
10111012 =1*26 + 0*25 + 1*24 + 1*23 + 1*22 +0*2 + 1*20 =64+16+8+4+1=9310
Ответ: 9310
Как пеpевести правильную конечную b-ичную дpобь в десятичную?
По схеме Горнера a=(((( a-m b-1 + a-m+1 )*b-1+… a-3 )*b-1 + a-2 )*b-1 + a-1)* b-1
Дана правильная конечная дробь =0,a-1a-2…a-m
Требуется получить запись этой дроби в десятичной системе счисления. Для решения этой задачи представим дробь в развернутой форме
a = a-1 b-1+a-2 b-2 +a-3 b-3 +…a-m+1 b-m+1+ a-m b-m =
=(((( a-m b-1 + a-m+1 )*b-1+… a-3 )*b-1 + a-2 )*b-1 + a-1)* b-1
Данное выражение называется схемой Горнера для вычисления значения b-ичной дроби в десятичной системе счисления (цифры в дроби по Горнеру нужно выписывать в обратном порядке))
Алгоритм. Для того, чтобы исходную, правильную дробь 0,a-1a-2…a-m заменить равной ее правильной десятичной дробью, необходимо
|
Пример. Перевести в десятичную систему дроби
1) 0,11012=X10 (рассматриваем цифры в обратном порядке) 1:2=0,5 0,5+0=0,5 0,5:2=0,25 0,25+1=1,25 1,25:2=0,625 0,625+1=1,625 1,625:2=0,8125 Ответ: 0,11012= 0,812510 | 2) 0,3568=0,X10 (рассматриваем цифры в обратном порядке) 6:8=0,75 0,75+5=5,75 5,75:8=0,371875 0,371875+3=3,371875 3,371875:8=0,46484375 Ответ: 0,3568=0,4648437510 | 3) 0,A6E16=0,X10 (рассматриваем цифры в обратном порядке) 14:16=0,875 0,875+6=6,875 6,875:16=0,4296875 0,4296875+10=10,4296875 10,4296875:16=0,65185546875 Ответ: 0,A6E16=0,6518554687510 |
Как перевести целое число из десятичной системы (b=10) в любую другую позиционную систему счисления?
Теорема: Преобразование чисел из десятичной системы счисления в систему счисления с основанием b производится последовательным делением исходного числа на основание системы b по правилам b- арифметики, пока частное не станет равным 0. Это деление в остатках дает запись числа-ответа в соответствующей системе, но в обратном порядке: от младшей цифры к старшей.
Пример. Перевести число 75 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ: 7510 = 10010112 = 1138 = 4B16.
Как перевести правильную десятичную дробь z=0,z-1z-2…z-m в любую другую позиционную систему счисления?
По формуле с выделением целой части. z*b=a-1+a-2 b-1 +a-3 b-2 +…a-m b-m+2+ a-m b-m+1
Алгоритм. Для того, чтобы исходную десятичную правильную дробь 0,z-1z-2…z-m заменить равной ее правильной дробью 0,a-1a-2…a-m, нужно 1. 0,z-1z-2…z-m умножить на основание b, по правилам десятичной арифметики, целую часть полученного произведения считать цифрой старшего разряда искомой дроби 2. Дробную часть полученного произведения вновь умножить на b, целую часть полученного результата считать следующей цифрой искомой дроби. Пункт 2 повторять до тех пор, пока дробная часть не окажется равной нулю, либо будет достигнута требуемая точность. |
Пример. Перевести число 0,35 из десятичной системы в двоичную, восьмеричную и шестнадцатеричную:
Ответ: 0,3510 = 0,010112 = 0,2638 = 0,5916 .
Перевод чисел с применением MS Exсel.