системы счисления с заданной точностью
Лекция №1. СИСТЕМЫ СЧИСЛЕНИЯ
Перевод дробной части числа представленного в десятичной с/с в двоичную, восьмеричную или шестнадцатеричную системы счисления выполняется путём умножения дробной части исходного числа на основание новой с/с. Так как процесс последовательного умножения может продолжаться до бесконечности, то перевод выполняется либо до получения требуемого количества разрядов в дробной части числа в новой с/с или до достижения заданной точности. При этом необходимо выполнить следующую последовательность действий: 1. Умножить дробную часть исходного числа на основание новой с/с. Целая часть полученного произведения даёт первую цифру дробной части числа в новой с/с. 2. Дробную часть полученного произведения умножить на основание новой с/с. Целая часть полученного произведения даёт следующую цифру дробной части числа в новой с/с. 3. Если достигнута заданная точность или получено требуемое количество цифр в дробной части числа в новой с/с то перейти к п. 4, иначе повторить п. 2. 4. Полученные в результате умножения целые части произведений, записать в порядке их вычисления. Это и будет дробная часть исходного числа в новой с/с. Пример. Выполнить перевод дробной части десятичного числа в двоичную, восьмеричную и шестнадцатеричную с/с, используя в качестве критерия, необходимость получить 3 цифры в дробной части числа в новой с/с. 0,7410 ® (?)2 0,2310 ® (?)8 0,1210 ® (?)16 0,74 0,23 0,12 2816
2816 0, 96 6, 72 14, 72 2816 1, 92 5, 76 11, 52 0,7410 ® 0,1012 0,2310 ® 0,1658 0,1210 ® 0,1EB16 Переведем полученные значения обратно в десятичную систему счисления и определим DА погрешность данного способа перевода. 0,1012 ® 00, 1-1 0-2 1-3 = 0×20 + 1×2-1 + 0×2-2 + 1×2-3 = 0,62510 Погрешность для двоичной с/с составит D2 = 0,74 – 0,625 = 0,115.
0,1658 ® 00, 1-1 6-2 5-3 = 0×80 + 1×8-1 + 6×8-2 + 5×8-3» 0,22910 Погрешность для восьмеричной с/с составит D8 = 0,23 – 0,229 = 0,001.
0,1ЕВ16 ® 00, 1-1 Е-2 В-3 = 0×160 + 1×16-1 + 14×16-2 + 11×16-3» 0,119910 Погрешность для шестнадцатеричной с/с составит D16=0,12–0,1199=0,0001.
Как известно, точность, с которой задано число, определяется количеством цифр в его дробной части. Для десятичной с/с точность представления числа определяется следующим образом: (0, b-1 b-2 … b-k)10 ® b-1×10-1 + b-2×10-2 +…+ b-k×10-k Отсюда точность: которую даёт цифра с весовым коэффициентом -1 равна 10-1 = 0.1; которую даёт цифра с весовым коэффициентом -2 равна 10-2 = 0.01; которую даёт цифра с весовым коэффициентом -k равна 10-k.
В общем случае, точность, с которой задается число, в любой позиционной системе счисления определяется из выражения
где А – основание системы счисления; R – количество цифр в дробной части числа. Точность перевода задается в десятичной системе счисления (t10). Для выполнения перевода с заданной точностью необходимо получить такое количество цифр в дробной части числа в новой системе счисления А, чтобы t10 > tA. Пример. Выполнить перевод 0,7410 ® (?)2 с точностью t = 0,01.
2
2 0, 96 точность, которую даёт эта цифра t2 = 2-2 = 0,25 > t = 0,01; 2 1, 92 точность, которую даёт эта цифра t2 = 2-3 = 0,125 > t = 0,01; 2 1, 84 точность, которую даёт эта цифра t2 = 2-4 = 0,0625 > t = 0,01; 2 1, 68 точность, которую даёт эта цифра t2 = 2-5 = 0,03125 > t = 0,01; 2 1, 36 точность, которую даёт эта цифра t2 = 2-6» 0,01563 > t = 0,01; 2 0, 72 точность, которую даёт эта цифра t2 = 2-7» 0,00781 < t = 0,01;
Полученная точность представления числа в двоичной с/с t2 меньше заданной точности t10, следовательно, процесс перевода можно завершить. Определим погрешность перевода, предварительно выполнив обратный перевод: 0,10111102 ® 00, 1-1 0-2 1-3 1-4 1-5 1-6 0-7 = = 0×20 + 1×2-1 + 0×2-2 + 1×2-3 + 1×2-4 + 1×2-5 + 1×2-6 + 0×2-7» 0,73410 Погрешность составила D2 = 0,74 – 0,734 = 0,006 и не превышает t10. Пример. Выполнить перевод 0,2310 ® (?)8 с точностью t = 0,001. 0,23 0,2310 ® 0,1-1 6-2 5-3 6-4 = 0,16568
8 6, 72 точность, которую даёт эта цифра t8 = 8-2 = 0,0156 > t = 0,001; 8 5, 76 точность, которую даёт эта цифра t8 = 8-3» 0,00195 > t = 0,001; 8 6, 08 точность, которую даёт эта цифра t8 = 8-4» 0,00024 < t = 0,001;
Полученная точность представления числа в восьмеричной с/с t8 меньше заданной точности t10, следовательно, процесс перевода можно завершить. Определим погрешность перевода, предварительно выполнив обратный перевод: 0,16568 ® 00, 1-1 6-2 5-3 6-4 = 0×80 + 1×8-1 + 6×8-2 + 5×8-3 + 6×8-4» 0,2299810 Погрешность составила D8 = 0,23 – 0,22998 = 0,00002 и не превышает t10. Перевод десятичного числа, содержащего целую и дробную части, в двоичную, восьмеричную или шестнадцатеричную системы счисления, происходит в два этапа. Вначале переводится целая часть, а затем дробная часть числа.
|