First time here? Check out the FAQ!

1 | initial version |

There are two effects concerning non-integer arithmetic involved:

-1- There is no way to get generally closed round-trips by conversion between the dyadic and the decimal representation of numbers with fixed lengths (numbers of digits) for either system. Exact conversion from decimal to dyadic is strictly impossible for most non-integer starting values. Exact conversion from dyadic to decimal is only generally possible (in an impractical sense) if as many decimal digits are allowed as dyadic digits were used (which are in practice 52 for most computer applications).

-2- Cancellation of significant digits by subtraction. See **this** paragraph in the English wikipedia and the article it is contained in. The effect may manifest itself as a **stepping forward of insignificant digits**.

Concerning your example this was the final effect.

You may also try `=65941.152 - 65941.15`

with 17 or more decimal places displayed.

2 | No.2 Revision |

(The answer expects everybody to *know* that "computers calculate with binary numbers".)

There are two effects concerning non-integer arithmetic involved:

-1- There is no way to get generally closed round-trips by conversion between the dyadic and the decimal representation of numbers with fixed lengths (numbers of digits) for either system. Exact conversion from decimal to dyadic is strictly impossible for most non-integer starting values. Exact conversion from dyadic to decimal is only generally possible (in an impractical sense) if as many decimal digits are allowed as dyadic digits were used (which are in practice 52 for most computer applications).

-2- Cancellation of significant digits by subtraction. See **this** paragraph in the English wikipedia and the article it is contained in. The effect may manifest itself as a **stepping forward of insignificant digits**.

Concerning your example this was the final effect.

You may also try `=65941.152 - 65941.15`

with 17 or more decimal places ~~displayed. ~~displayed.

3 | No.3 Revision |

(The answer expects everybody to *know* that "computers calculate with binary numbers".)

There are two effects concerning non-integer arithmetic involved:

-1- There is no way to get generally closed round-trips by conversion between the dyadic and the decimal representation of numbers with fixed lengths (numbers of digits) for either system. Exact conversion from decimal to dyadic is strictly impossible for most non-integer starting values. Exact conversion from dyadic to decimal is only generally possible (in an impractical sense) if as many decimal digits are allowed as dyadic digits were used (which are in practice 52 for most computer applications).

-2- Cancellation of significant digits by subtraction. See **this** paragraph in the English wikipedia and the article it is contained in. The effect may manifest itself as a **stepping forward of insignificant digits**.

Concerning your example this was the final effect.

You may also try

with ~~=65941.152 - 65941.15~~=65941.008- 65941.0016~~17 ~~18 or more decimal places displayed.

4 | No.4 Revision |

(The answer expects everybody to *know* that "computers calculate with binary ~~numbers".) ~~numbers".

The answer below uses the more correct term "dyadic representation".)

There are two effects concerning non-integer arithmetic involved:

**this** paragraph in the English wikipedia and the article it is contained in. The effect may manifest itself as a **stepping forward of insignificant digits**.

Concerning your example this was the final effect.

You may also try `=65941.008- 65941.0016`

with 18 or more decimal places displayed.

5 | No.5 Revision |

(The answer expects everybody to *know* that "computers calculate with binary numbers". The answer below uses the more correct term "dyadic representation".)

There are two effects concerning non-integer arithmetic involved:

**this** paragraph in the English wikipedia and the article it is contained in. The effect may manifest itself as a **stepping forward of insignificant digits**.

Concerning your example this was the final effect.

You may also try `=65941.008- 65941.0016`

with 18 or more decimal places displayed.

Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.