Zéro non significatif - Leading zero

Un zéro non significatif est tout chiffre 0 qui précède le premier chiffre différent de zéro dans une chaîne numérique en notation positionnelle . Par exemple, le célèbre identifiant de James Bond , 007, a deux zéros non significatifs. Lorsque les zéros non significatifs occupent les chiffres les plus significatifs d'un entier , ils peuvent être laissés en blanc ou omis pour la même valeur numérique. Par conséquent, la notation décimale habituelle des nombres entiers n'utilise pas de zéros non significatifs, à l'exception du zéro lui - même , qui serait autrement noté comme une chaîne vide . Cependant, dans les fractions décimales strictement comprises entre -1 et 1, les zéros de tête entre la virgule décimale et le premier chiffre différent de zéro sont nécessaires pour transmettre l'amplitude d'un nombre et ne peuvent pas être omis, tandis que les zéros de fin - les zéros apparaissant après la virgule décimale et après le dernier chiffre différent de zéro - peut être omis sans changer le sens.

Occurrence

Souvent, des zéros non significatifs se trouvent sur des affichages numériques non électroniques ou sur des affichages électroniques comme les affichages à sept segments , qui contiennent des ensembles fixes de chiffres. Ces appareils comprennent des compteurs manuels, des chronomètres , des odomètres et des horloges numériques . Les zéros non significatifs sont également générés par de nombreux programmes informatiques plus anciens lors de la création de valeurs à attribuer à de nouveaux enregistrements, comptes et autres fichiers et, en tant que tels, sont susceptibles d'être utilisés par les systèmes de facturation des services publics, les systèmes d'information sur les ressources humaines et les bases de données gouvernementales. De nombreux appareils photo numériques et autres appareils d'enregistrement de supports électroniques utilisent des zéros non significatifs lors de la création et de l'enregistrement de nouveaux fichiers pour créer des noms de longueur égale.

Des zéros non significatifs sont également présents chaque fois que le nombre de chiffres est techniquement fixe (comme dans un registre de mémoire ), mais la valeur stockée n'est pas assez grande pour donner un chiffre de poids fort différent de zéro . L' opération de comptage des zéros non significatifs détermine efficacement le nombre de bits zéro non significatifs dans un mot machine .

Un zéro de tête apparaît à la roulette aux États-Unis, où « 00 » est distinct de « 0 » (un pari sur « 0 » ne gagnera pas si la balle atterrit sur « 00 », et vice versa). Les sports où les concurrents sont numérotés suivent également cela ; une voiture de stock numérotée "07" serait considérée comme distincte d'une voiture numérotée "7". Benito Santiago , un receveur de la Major League Baseball qui a porté le numéro 09 pendant plusieurs années, est le seul joueur de grande ligue sportive professionnelle à utiliser un numéro de maillot avec un zéro de tête, sans compter plusieurs qui ont porté le numéro 00 (il portait le zéro supplémentaire pour éviter les complications avec ses coussinets de receveur, permettant à la sangle arrière de passer entre les chiffres au lieu de plus d'un seul chiffre 9). C'est le plus courant avec les nombres à un chiffre.

Avantages

Collation

Les zéros en tête sont utilisés pour faire correspondre l'ordre croissant des nombres avec l'ordre alphabétique : par exemple, 11 vient par ordre alphabétique avant 2, mais après 02. (Voir, par exemple, ISO 8601 .) Cela ne fonctionne pas avec les nombres négatifs , cependant, que les zéros en tête soient utilisé ou non : −23 vient par ordre alphabétique après −01, −1 et −22, bien qu'il soit inférieur à tous.

Prévention des erreurs

Les zéros non significatifs dans une phrase rendent également moins probable qu'un lecteur imprudent oublie la virgule décimale. Par exemple, dans la pharmacie moderne, il existe une convention largement suivie selon laquelle les zéros non significatifs ne doivent être omis d'aucune dose ou valeur posologique dans la prescription de médicaments . De même, tout comme les zéros à gauche sont obligatoires, les zéros à droite sont interdits. Dans les deux cas, la raison est la même : éviter les erreurs de lecture et les erreurs de dosage qui en résultent d'un ou plusieurs ordres de grandeur .

Prévention de la fraude

Les zéros non significatifs peuvent également être utilisés pour empêcher la fraude en remplissant des positions de caractère qui pourraient normalement être vides. Par exemple, l'ajout de zéros non significatifs au montant d'un chèque (ou d'un document financier similaire) rend plus difficile pour les fraudeurs de modifier le montant du chèque avant de le présenter pour paiement.

Zéro comme préfixe

Un préfixe 0est utilisé en C pour spécifier des représentations de chaîne de octaux chiffres, tel que requis par la norme ANSI C standard pour la fonction « strtol » (la str ing à l ong convertisseur de nombre entier) dans la bibliothèque « stdlib.h ». De nombreux autres langages de programmation, tels que Python , Perl , Ruby , PHP et le shell bash Unix suivent également cette spécification pour convertir des chaînes en nombres. Par exemple, " 0020" ne représente pas 20 10 ( 2 ×10 1 + 0 ×10 0 ), mais plutôt 20 8  = 16 10 ( 2 ×8 1  + 0 ×8 0  = 1 ×10 1  + 6 ×10 0 ). Les nombres décimaux écrits avec des zéros non significatifs seront interprétés comme octaux par les langues qui suivent cette convention et généreront des erreurs (pas seulement des résultats inattendus) s'ils contiennent "8" ou "9", puisque ces chiffres n'existent pas en octal. Ce comportement peut être assez gênant lorsque vous travaillez avec des séquences de chaînes avec des nombres décimaux intégrés et complétés par des zéros (généralement des noms de fichiers) pour faciliter le tri alphabétique (voir ci-dessus) ou lors de la validation des entrées d'utilisateurs qui ne sauraient pas que l'ajout d'un zéro non significatif déclenche cette conversion de base.

Voir également

Les références