4 ms·
Are you saying that my students should memorize which numbers are actual floats and which are not? > 1.25 * 0.1 0.1250000000000000069388939039
by emil-lp 7mo ago
Are you saying that my students should memorize which numbers are actual floats and which are not?
> 1.25 * 0.1
0.1250000000000000069388939039
- jmalicki 7mo ago> Are you saying that my students should memorize which numbers are actual floats and which are not? Yes.
- kccqzy 7mo agoThey shouldn’t “memorize” this per se, but it should take them only a few seconds to work out in their head.
- stephencanon 7mo agoYour students should be able to figure out if a computation is exact or not, because they should understand binary representation of numbers.
- dehrmann 7mo agoTell them that they can only store integer powers of 2 and their sums exactly. 2^0 == 1. 2^-2 == .25. Then say it's the same with base 10. 10^-1 == 0.1. 1/9 isn't a power of 10, you you can't have an exact representation.
- SideQuark 7mo agoIf they were taught what was representable and why they’d learn it quickly. And those that forget details later know to chase it down again if they need it. Making it voodoo hides that it’s learnable, deterministic, and useful to understand.
- jmalicki 7mo ago(Another small note.... 1.25 * 0.1 is not representable because 0.1 is not representable, so that doesn't divide by 10) 1.25 = 2^0 + 2^-2, so is representable. 0.125 = 2^-3, so is representable 1.25 / 10.0 = 0.125 so is representable. 10.0 = 2^3 + 2^1. 1.25 * 0.1 is not representable, because 0.1 is not representable, and those low order bits show up in the multiplication