About: Guard digit

An Entity of Type: Thing, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In numerical analysis, one or more guard digits can be used to reduce the amount of roundoff error. For example, suppose that the final result of a long, multi-step calculation can be safely rounded off to N decimal places. That is to say, the roundoff error introduced by this final roundoff makes a negligible contribution to the overall uncertainty. An example of the error caused by floating point roundoff is illustrated in the following C code. It appears that the program should not terminate. Yet the output is : i=54, a=1.000000 Another example is: Take 2 numbers: and

Property Value
dbo:abstract
  • In numerical analysis, one or more guard digits can be used to reduce the amount of roundoff error. For example, suppose that the final result of a long, multi-step calculation can be safely rounded off to N decimal places. That is to say, the roundoff error introduced by this final roundoff makes a negligible contribution to the overall uncertainty. However, it is quite likely that it is not safe to round off the intermediate steps in the calculation to the same number of digits. Be aware that roundoff errors can accumulate. If M decimal places are used in the intermediate calculation, we say there are M−N guard digits. Guard digits are also used in floating point operations in most computer systems. Given we have to line up the binary points. This means we must add an extra digit to the first operand—a guard digit. This gives us . Performing this operation gives us or . Without using a guard digit we have , yielding or . This gives us a relative error of 1. Therefore, we can see how important guard digits can be. An example of the error caused by floating point roundoff is illustrated in the following C code. int main{ double a; int i; a = 0.2; a += 0.1; a -= 0.3; for (i = 0; a < 1.0; i++) a += a; printf("i=%d, a=%f ", i, a); return 0;} It appears that the program should not terminate. Yet the output is : i=54, a=1.000000 Another example is: Take 2 numbers: and we bring the first number to the same power of as the second one: The addition of the 2 numbers is: 0.0256*10^2 2.3400*10^2 + ____________ 2.3656*10^2 After padding the second number (i.e., ) with two s, the bit after is the guard digit, and the bit after is the round digit. The result after rounding is as opposed to , without the extra bits (guard and round bits), i.e., by considering only . The error therefore is . (en)
  • Una cifra di guardia è una cifra aggiunta nella rappresentazione di un numero in virgola mobile in fase di calcolo, per limitare gli errori di arrotondamento e di cancellazione numerica. (it)
  • 在数值分析中 ,可以使用一个或多个警戒位来减少舍入误差。 如果说一个许多步骤计算的最终结果可以安全地舍入到 N 位小数,那么,最终的舍入操作引入的舍入误差对整体不确定性的影响可以忽略不计。 然而,在中间步骤舍入到同样多的位数很可能是不安全的。 因为舍入误差可以累积。 如果中间步骤中用了 M 位小数,那么就有 M−N 个警戒位。 在多数计算系统中,浮点运算都会用到警戒位。例如 我们必须对齐它们的位数。也就是说我们必须向第一个操作数额外添加一位,即警戒位。 因此我们有 ,计算可得 或 . 如果不用警戒位的话,就是 ,计算得到 或 。产生了100%的相对误差。由此可见警戒位的重要性。 以下一段 C 代码说明了一个由浮点舍入导致的错误: int main{ double a; int i; a = 0.2; a += 0.1; a -= 0.3; for(i = 0; a < 1.0; i++) a += a; printf("i=%d, a=%f ", i, a); return 0;} 看上去程序不会终止。 然而输出是 : i=54, a=1.000000 另一个例子是: 给定2个数字: 和 。我们使第一个数字中 的幂次和第二个数字一致,即:。那么两个数字的加和是: 0.0256*10^2 2.3400*10^2 + ____________ 2.3656*10^2 第二个数在填充两个 之后,后面的位数即警戒位,再后面的是舍入位。 舍入之后的结果是 而非 ,如果没有多余的位(警戒位和舍入位)的话,即仅考虑 。误差是 。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 6791579 (xsd:integer)
dbo:wikiPageLength
  • 3015 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1044466880 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
rdfs:comment
  • Una cifra di guardia è una cifra aggiunta nella rappresentazione di un numero in virgola mobile in fase di calcolo, per limitare gli errori di arrotondamento e di cancellazione numerica. (it)
  • In numerical analysis, one or more guard digits can be used to reduce the amount of roundoff error. For example, suppose that the final result of a long, multi-step calculation can be safely rounded off to N decimal places. That is to say, the roundoff error introduced by this final roundoff makes a negligible contribution to the overall uncertainty. An example of the error caused by floating point roundoff is illustrated in the following C code. It appears that the program should not terminate. Yet the output is : i=54, a=1.000000 Another example is: Take 2 numbers: and (en)
  • 在数值分析中 ,可以使用一个或多个警戒位来减少舍入误差。 如果说一个许多步骤计算的最终结果可以安全地舍入到 N 位小数,那么,最终的舍入操作引入的舍入误差对整体不确定性的影响可以忽略不计。 然而,在中间步骤舍入到同样多的位数很可能是不安全的。 因为舍入误差可以累积。 如果中间步骤中用了 M 位小数,那么就有 M−N 个警戒位。 在多数计算系统中,浮点运算都会用到警戒位。例如 我们必须对齐它们的位数。也就是说我们必须向第一个操作数额外添加一位,即警戒位。 因此我们有 ,计算可得 或 . 如果不用警戒位的话,就是 ,计算得到 或 。产生了100%的相对误差。由此可见警戒位的重要性。 以下一段 C 代码说明了一个由浮点舍入导致的错误: int main{ double a; int i; a = 0.2; a += 0.1; a -= 0.3; for(i = 0; a < 1.0; i++) a += a; printf("i=%d, a=%f ", i, a); return 0;} 看上去程序不会终止。 然而输出是 : i=54, a=1.000000 另一个例子是: 给定2个数字: 和 。我们使第一个数字中 的幂次和第二个数字一致,即:。那么两个数字的加和是: (zh)
rdfs:label
  • Guard digit (en)
  • Cifra di guardia (it)
  • 警戒位 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License