Explorateur de flottants

Inspecter et modifier les motifs de bits FP8, FP16, FP32 et FP64 avec arrondi ties-to-even.

À propos de cet outil

Choisissez un format et un type d'entrée, puis Inspecter. Chaque type d'entrée a son propre brouillon. Changer de format conserve ces textes et ne réinterprète le texte actif qu'à la prochaine action Inspecter ; les motifs hex et binaires ne sont jamais tronqués silencieusement. Une inspection réussie laisse le texte actif d'origine visible et met à jour les autres brouillons vers des représentations canoniques. Utiliser un exemple et basculer des bits mettent à jour tous les brouillons. Choisir un exemple seul ne change pas le motif.

Le texte décimal est arrondi directement au format choisi, au plus proche avec égalités vers le pair, sans arrondi intermédiaire binary64 pour FP8/16/32. Binary64 utilise la conversion décimale native de Number. Zéro négatif et signe du sous-dépassement sont conservés. La limite reste de 256 caractères ; une syntaxe décimale hors de la plage finie binary64 est refusée, contrairement au jeton Infinity explicite. Il s’agit d’une conversion de format, pas d’arithmétique à précision arbitraire.

FP8 suit les variantes explicites ONNX Float8 E4M3FN et E5M2, sans saturation. E4M3FN n'a pas d'infini : son maximum est 448, le brut 0x78 vaut 256, et seul l'exposant 1111 avec la fraction 111 est NaN. 464 s'arrondit encore à 448 ; les magnitudes plus grandes s'arrondissent à NaN. Une entrée Infinity devient aussi NaN. E5M2 déborde vers l'infini à 61440, FP16 à 65520. Un NaN saisi numériquement utilise un motif positif canonique ; inspecter ou basculer des motifs bruts conserve leur charge utile et leurs bits de signe.

L'entrée est limitée à 256 caractères, espaces extérieurs inclus. La syntaxe décimale accepte un point ou une virgule, un signe et un exposant, plus NaN, Infinity et Inf insensibles à la casse ; les jetons d'infini autorisent un signe. Un décimal fini qui déborde binary64 est rejeté ; les très petites valeurs peuvent s'arrondir à zéro signé. La sortie utilise le texte Number aller-retour le plus court, avec un point décimal. L'hex peut commencer par 0x et le binaire par 0b. Seuls les espaces extérieurs sont autorisés ; pas d'espaces internes, de séparateurs ni de caractères ignorés. Les motifs bruts trop courts sont complétés à gauche ; une largeur excessive, y compris des zéros de tête, est une erreur.

Les valeurs normales ont un 1 de tête implicite ; les sous-normaux ont un 0 de tête et l'exposant effectif 1 − bias. Zéro, infini et NaN n'ont pas de décomposition de significande normale. Les petits brouillons utilisent le stockage cookie existant ; un brouillon qui ne peut pas être encodé ou dépasse 1 500 caractères encodés reste disponible seulement jusqu'au rechargement, avec un avis visible. Les résultats ne sont pas restaurés automatiquement.

Les bits sont disposés par octets, poids fort en premier, avec défilement horizontal local sur petit écran. Dans les détails, le binaire est groupé par octet ; la saisie brute exige toujours des bits contigus. Effacer retire résultats et erreurs en conservant les brouillons. Les actions sur les bits et exemples actualisent tous les brouillons ; les charges utiles NaN brutes restent intactes avant modification volontaire.