Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системы счисления (заставки).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
116.74 Кб
Скачать

1.3. Перевод дробной части десятичного числа в различные системы счисления с заданной точностью

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

1. Умножить дробную часть исходного числа на основание новой с/с. Целая часть полученного произведения даёт первую цифру дробной части числа в новой с/с.

2. Дробную часть полученного произведения умножить на основание новой с/с. Целая часть полученного произведения даёт следующую цифру дробной части числа в новой с/с.

3. Если достигнута заданная точность или получено требуемое количество цифр в дробной части числа в новой с/с то перейти к п. 4, иначе повторить п. 2.

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

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

0,7410  (?)2 0,2310  (?)8 0,1210  (?)16

0,74 0,23 0,12

2 8 16

1Прямая соединительная линия 3 Прямая соединительная линия 5 , 48 1, 84 1, 92

2 8 16

0, 96 6, 72 14, 72

2 8 16

1, 92 5, 76 11, 52

0,7410  0,1012 0,2310  0,1658 0,1210  0,1EB16

Переведем полученные значения обратно в десятичную систему счисления и определим А погрешность данного способа перевода.

0,1012  00, 1-1 0-2 1-3 = 020 + 12-1 + 02-2 + 12-3 = 0,62510

Погрешность для двоичной с/с составит

2 = 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

Погрешность для восьмеричной с/с составит

8 = 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

Погрешность для шестнадцатеричной с/с составит

16=0,12–0,1199=0,0001.

Как известно, точность, с которой задано число, определяется количеством цифр в его дробной части. Для десятичной с/с точность представления числа определяется следующим образом:

(0, b-1 b-2b-k)10 b-110-1 + b-210-2 +…+ b-k10-k

Отсюда точность:

которую даёт цифра с весовым коэффициентом -1 равна 10-1 = 0.1;

которую даёт цифра с весовым коэффициентом -2 равна 10-2 = 0.01;

которую даёт цифра с весовым коэффициентом -k равна 10-k.

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

, (4)

где А – основание системы счисления;

R – количество цифр в дробной части числа.

Точность перевода задается в десятичной системе счисления (t10). Для выполнения перевода с заданной точностью необходимо получить такое количество цифр в дробной части числа в новой системе счисления А, чтобы t10 > tA.

Пример. Выполнить перевод 0,7410  (?)2 с точностью t = 0,01.

0,74 0,7410  0,1-1 0-2 1-3 1-4 1-5 1-6 0-7 = 0,10111102

2

1Прямая соединительная линия 2 , 48 точность, которую даёт эта цифра t2 = 2-1 = 0,5 > t = 0,01;

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

Погрешность составила 2 = 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

1Прямая соединительная линия 1 , 84 точность, которую даёт эта цифра t8 = 8-1 = 0,125 > t = 0,001;

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

Погрешность составила 8 = 0,23 – 0,22998 = 0,00002 и не превышает t10.

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