Un nombre à virgule flottante, qui contient des fractions, est stocké sous forme de bits pour le signe, l'exposant et la mantisse.
Le format IEEE 754 se divise en un bit de signe, un exposant et une mantisse. Un float de 32 bits fait 1+8+23 bits ; un double de 64 bits fait 1+11+52 bits.
Même un nombre aussi simple que 0.1 en décimal devient une fraction périodique infinie en binaire ; le stocker dans un nombre fini de bits laisse donc une minuscule erreur.
Les entiers que gère cet outil sont exacts grâce à BigInt, mais les valeurs à virgule flottante sont des approximations. Comprendre l'agencement des bits explique d'où vient l'erreur.