Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

формате представляется бесконечной периодической двоичной дробью 0,0(0011). При записи этой дроби в ограниченном формате приходится отбрасывать ряд ненулевых цифр и тем самым представлять ее как приближенное число с ограниченной точностью.

Числа с ограниченной точностью порождаются не только в процессе их начального представления в ограниченном формате, создающем погрешность представления, но и при выполнении арифметических операций над точными или приближенными исходными числами. Так, например, в арифметике целых чисел, не имеющей погрешности представления исходных чисел, операция деления порождает неправильные дроби (говорят, что множество целых чисел незамкнуто относительно операции деления), которые в формате целых чисел записываются приближенно целыми числами ограниченной точности. Аналогичные погрешности операций могут иметь место при умножении и делении дробных чисел.

Как погрешности представления, так и погрешности операций имеют одну природу, связанную с округлением чисел. Поэтому рассмотрим правила округления чисел и величины, характеризующие точность округленных чисел. Округление точного числа Л*, содержащего п -\--\-k{k = 1,2, ...) /?-ичных разрядов, заключается в ограничении его формата п разрядами. При выполнении этой операции желательно обеспечить наибольшую близость округленного числа Ar (число в формате п) к округляемому числу А% (число в формате n-\-k). На практике обычно используют два способа округления: отбрасывание и симметричное округление [34, 50, 64]. Способ отбрасывания определяется для дробных и целых /?-ичных чисел формулами (1.6) и (1.7). Согласно этому способу, дополнительные k разрядов округляемого числа просто исключаются из формата без какой-либо коррекции части числа в разрядах п. Симметричное округление определяется следующими выражениями соответственно для дробных и целых /-ичных чисел:

±Sa,--10, если а„+,</?/2;

Лш=< (1-9)

± S О;. ЮГ+10", если а„+,>/?/2; 1=1



± Sa,-10}, + 1,

если a ,</2; если a,-R/2.

При симметричном округлении значение первой из отбрасываемых цифр округляемого числа А% используется для решения вопроса о коррекции части числа в оставшихся п разрядах. На практике способ симметричного округления для случая an + \ = R/2 (/4 i = /?/2) иногда дополняют правилом Гаусса, в соответствии с которым коррекция оставшейся части числа производится, если цифра а,1 (ао) - четная [15]. Оценим точностные характеристики методов округления: абсолютную и относительную ошибки (погрешности).

Определим абсолютную ошибку округления АА как разность значений округляемого А и округленного Ar чисел, а относительную ошибку округления &Ar как модуль отношения абсолютной ошибки к значению округляемого числа:

AA, = At~A,; 6А=\АА,/А1\. (1.11)

Поскольку в большинстве случаев точное значение округляемого числа неизвестно (число, например, получено с погрешностью в процессе измерения, является иррациональным и т. п.), то неизвестны и точные величины ошибок в выражениях (1.П). Однако почти всегда имеется возможность оценить граничные (предельные) значения ошибок. Определим граничную абсолютную Дг и относительную 6, ошибки округления следующим образом:

ААу,КД,.; бг =Дг/Л,,. (1.12)

Замена \А\ из формулы (1.11) на \А,\ в выражении (1.12) не вносит существенной погрешности в значение 6г, если Аг<с1Л/г. На практике используют по возможности минимальное значение граничной ошибки Дг. В тех случаях, когда известна точная величина ошибки AAr, она одновременно принимается и в качестве граничной. Очевидно, что граничная абсолютная ошибка любых /?-ичных чисел, представленных в «-разрядном формате, имеет значения А= 10" и А= 1 соответственно для



дробных и целых чисел при способе округления с отбрасыванием и Дг=10;"/2 и Дг= 1/2 соответственно для дробных и целых чисел при симметричном округлении. Способ отбрасывания порождает всегда округленные числа «с недостатком», т. е. числа с положительной абсолютной ошибкой, поэтому этот способ называют еще несимметричным округлением. Симметричный же способ в зависимости от значения первой отбрасываемой цифры порождает как числа «с недостатком», так и числа «с избытком» (числа с отрицательной абсолютной ошибкой), что, как правило, приводит в процессе многочисленных округлений при вычислениях к компенсации ошибок и повышению точности результата. Процессу компенсации ошибок способствует и вышеупомянутое правило Гаусса (оно основывается на предпосылке о равновероятности четных и нечетных чисел). Способ симметричного округления получил в программах, вьшолняющих арифметическую обработку, преимущественное применение.

В арифметике с фиксированной запятой все числа представляются с одинаковой граничной абсолютной ошибкой. Величина же граничной относительной ошибки зависит от модуля округленного числа и возрастает от максимального числа к минимальному:

Дг/Лйшах<бг<Дг/М/гт,п; (1.13)

2-"<бг2<1, (1.14)

где бг, бг2 - ошибки /?-ичных и двоичных чисел, использующих правило округления с отбрасыванием. Из выражений (1.13), (1.14) следует, что малые числа, близкие к машинному нулю, могут иметь высокую относительную ошибку (до 100 % при округлении с отбрасыванием и до 50 % при симметричном округлении), т. е. обладать низкой точностью. Если такие числа участвуют в промежуточных вычислениях, точность результата будет того же порядка. Поэтому при программировании вычислений важно обеспечить требуемую точность как для исходных чисел, так и для промежуточных результатов. Это достигается правильным выбором порядка операций и значности чисел.

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



0 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116



0.0101
Яндекс.Метрика