Limites dans les nombres

Les robots et les Robots à Moteur Basique utilisent des formats de nombre différents. Dans les Robots à Moteur Basique, la valeur stockée dans une variable est un double (binary64 comme spécifié par la norme IEEE 754). Dans les robots, les variables stockent les nombres au format IEEE 754R decimal128, qui utilise 34 chiffres décimaux et une plage d'exposants de -2147483647 à +2147483648 (= 2^31). Lorsque vous stockez des valeurs dans un robot, des arrondis peuvent se produire, et vous pouvez vous attendre à une certaine perte de précision. Par exemple, si un numéro comporte plus de 34 chiffres et que le dernier est .5, il est arrondi, de sorte que .5 devient .0. Par exemple, 1234567890123456789012345678901234567890.0 devient 1234567890123456789012345678901235000000. Les nombres entiers peuvent devenir importants, mais le nombre de chiffres significatifs ne peut être que de 34.

Vous pouvez utiliser des nombres jusqu'à : 9.9999999999...E2147483647 et des nombres aussi petits que 0.1E-2147483646. Ce sont les plus grands et les plus petits nombres que vous pouvez convertir de texte en nombre, par exemple en écrivant “0.1E-2147483646”.number() dans une expression. Vous pouvez obtenir des nombres plus élevés en utilisant la multiplication, mais cela peut provoquer une erreur de débordement. Les limites de notre représentation des nombres donnent ce qui suit :

“9.9999999999…9E2147483647”.number() convertit en 1.0E2147483648 s'il existe plus de 34 chiffres dans le nombre, mais 9.9999999999…9E2147483647 s'il en existe moins de 34.

“0.1E-2147483646”.number() est convertit en 1.0E-2147483647.