La première fois qu'une conversion de base m'a coûté une soirée de travail, le coupable était un bogue d'autorisations. Un script de déploiement a écrit des modes de fichiers sous la forme chmod 755, et un chargeur de configuration lisent la même valeur dans un fichier JSON que le nombre 755. JSON n'a pas de littéral octal. Le chargeur a passé 755 Pour un appel système qui attendait un mode octal, le mode était interprété comme décimal 755 et décimal 755 en binaire 1011110011 — Dix bits de non-sens dans un champ de neuf bits. Les fichiers ont obtenu des autorisations que personne n'avait demandées et personne ne pouvait expliquer.
C'est à cela que ressemble la confusion de base dans la pratique. Ce n'est presque jamais un problème de mathématiques difficile. C'est une valeur qui est correcte dans une notation et catastrophique dans une autre, traversant une limite où personne n'a écrit quelle base était destinée. Binaire, octal, décimal et hexadécimal sont quatre façons d'écrire le même nombre entier, et un ordinateur vous permettra avec plaisir de les mélanger.
Alors j'ai construit le Convertisseur de base de nombres sur toolz.dev Pour être la chose que j'atteint réellement à ce moment-là : collez une valeur, dites dans quelle base elle se trouve et voyez-la dans toutes les autres bases à la fois - ainsi que le nombre de bits, le nombre d'octets et le binaire disposé en grignotage afin qu'il s'aligne avec les chiffres hexadécimaux au-dessus. Il gère n'importe quel radical de 2 à 36, il accepte 0x, 0b, et 0o Préfixe, et il fait tout son arithmétique dans BIGINT, donc un hachage de 256 bits se convertit exactement au lieu d'arrondi tranquillement en poubelle.
tl;dr : La valeur d'un nombre ne change jamais lorsque vous la convertissez, seule la notation le fait. le Convertisseur de base de nombres Convertit des nombres entiers entre toutes les bases de 2 à 36, affiche simultanément les longueurs de bit et d'octets, Bibint, octal, décimal et hexadécimal, signale la longueur des bits et des octets, utilise BIGINT afin de tenir la précision à n'importe quelle taille et s'exécute entièrement dans votre navigateur.
Principales caractéristiques
Toute base de 2 à 36
Binaire, octal, décimal et hexadécimal reçoivent des boutons de raccourci dédiés, car ce sont les quatre qui apparaissent dans le code réel. Mais les listes déroulantes de la source et de la cible s'étendent de la base 2 à la base 36 - le plafond étant le point où vous manquez d'alphanumériques insensibles à la casse (10 chiffres plus vingt-six lettres). La base 3, la base 12, la base 20, la base 32 et la base 36 sont toutes à un clic, et chacune rend la norme 0-9A-Z Alphabet numérique.
Arithmétique exacte Bigint
C'est la fonctionnalité qui compte le plus et qui apparaît le moins dans la copie marketing. Les nombres JavaScript sont des doubles IEEE-754, et ils ne représentent que des nombres entiers jusqu'à 2^53 − 1, soit 9 007 199 254 740 991. passé ça, parseInt et Number Commencez à arrondir - en silence, sans erreur, produisant une valeur qui semble plausible et qui est fausse. La plupart des convertisseurs de base sur le Web sont basés sur ces fonctions.
Celui-ci analyse le chiffre par chiffre dans un accumulateur Bigint (value = value * base + digit) et rend par la division répétée. Il n'y a pas de plafond de précision. Un ID de 64 bits, un hachage de 256 bits, un module RSA, une décimale à 500 chiffres - tous convertissent exactement.
Toutes les bases à la fois
Une entrée, quatre sorties, en direct. Le panneau affiche simultanément binaire, octal, décimal et hexadécimal, ainsi que la base personnalisée que vous avez choisie si ce n'est pas l'un de ces quatre. La plupart des conversions de base sont vraiment des vérifications croisées - vous souhaitez confirmer que l'hex de votre débogueur et la décimale de votre ligne de journalisation sont le même nombre - et voir les quatre transforment simultanément une tâche en trois étapes en un coup d'œil.
Longueur de bit, longueur d'octet et groupement de grignotage
La raison pour laquelle les gens se convertissent en binaire n'est généralement pas la curiosité des bits, c'est une question de dimensionnement : cela s'intègre-t-il dans un octet, dans un int 32 bits, dans un court-circuit signé ? Ainsi, le convertisseur indique la longueur de bits significative (255 → 8 bits, 256 → 9 bits) et la longueur d'octet arrondie. La sortie binaire est remplie à un nombre entier de grignotages et regroupées par quatre, de sorte que chaque groupe de quatre bits se trouve directement sous le chiffre hexadécimal qu'il code.
Entrée pardonnante, erreurs précises
Les valeurs réelles arrivent avec la décoration. 0xDEADBEEF à partir d'une trace de pile, 0b1010_1111 d'un littéral de rouille, 0o755 d'un chmod, FF FF FF copié à partir d'un éditeur hexadécimal. Tout cela est accepté : les préfixes sont supprimés lorsqu'ils sont d'accord avec la base sélectionnée, et les soulignements et les espaces sont traités comme des séparateurs de chiffres.
Lorsqu'un chiffre est illégal pour la base que vous avez choisie, l'erreur le nomme. taper à la 1092 en base 8 et vous obtenez "9" is not valid in base 8. Base 8 uses 0-7. — Pas une "entrée invalide" générique, qui ne vous dit rien sur le caractère à consulter.
Prise en charge des nombres négatif
Les valeurs négatives convertissent et rendent avec un signe moins avant. C'est une notation de magnitude de signe, et c'est la réponse honnête, pour des raisons couvertes dans la section du complément à deux.
S'exécute entièrement dans votre navigateur
Pas de réseau aller-retour en réseau, pas de téléchargement, pas de journalisation. Le résultat est mis à jour sur chaque frappe car l'arithmétique se produit à quelques microsecondes et la page continue de fonctionner sans aucune connexion une fois chargé.
Comment utiliser le convertisseur de base de nombres
Étape 1 : Entrez votre numéro
Tapez ou collez la valeur dans le champ De. Vous n'avez pas besoin de décaper la décoration en premier - 0xFF, 0b1010, 0o755, 1010_1111, et DE AD BE EF sont tous acceptés. de premier plan + et - Les signes fonctionnent. Les zéros de tête sont inoffensifs.
Étape 2 : Choisissez la base de sources
Dites au convertisseur comment lire ce que vous avez tapé. C'est le pas que les gens sautent, et c'est celui qui compte : 101 est de 5 en binaire, 65 en octal, 101 en décimal et 257 en hexadécimal. Quatre nombres différents, une chaîne de caractères. Les boutons de raccourci couvrent les fichiers binaires, octals, décimaux et hexagonaux; la liste déroulante couvre tout de 2 à 36.
Si la base de la source ne peut pas lire un caractère que vous avez tapé, vous obtenez un message nommant ce caractère plutôt qu'une mauvaise réponse silencieuse.
Étape 3 : Choisissez la base cible
Choisissez la base que vous voulez. Le résultat apparaît immédiatement et se met à jour au fur et à mesure que vous tapez - il n'y a pas de bouton de conversion, car il n'y a pas de serveur à attendre. Le bouton d'échange inverse la direction et déplace le résultat dans l'entrée, ce qui est le moyen le plus rapide d'aller aller et de confirmer une valeur.
Étape 4 : Lisez les panneaux
En dessous de la conversion que vous obtenez :
- Toutes les bases à la fois — La même valeur en binaire, octal, décimal et hexadécimal, plus votre base personnalisée si vous en avez choisi un.
- Longueur du bit, longueur de l'octet, chiffres hexadécimaux — Les chiffres de dimensionnement.
- Binaire regroupé — Les bits rembourrés et divisés en grignotages, alignés avec les chiffres hexadécimaux.
Étape 5 : Copier
Copiez le résultat nu ou copiez l'expression complète (255 (base 10) = FF (base 16)) Lorsque vous souhaitez que la conversion soit auto-documentée dans un message de validation, un commentaire de code ou un rapport de bogue. La deuxième option est celle à utiliser lorsque vous expliquez un nombre à quelqu'un d'autre, car il emporte la base avec les chiffres.
Comment la notation de position fonctionne réellement
Chaque base que nous utilisons est un de position système, ce qui signifie que la contribution d'un chiffre dépend de l'endroit où il se situe. En base B, le chiffre à la position I (comptant à zéro sur la droite) vaut digit × b^i. Cette règle unique génère chaque base.
Prenez 1 234 décises :
1×10³ + 2×10² + 3×10¹ + 4×10⁰ = 1000 + 200 + 30 + 4 = 1234
Maintenant, prends 1A3 En hexadécimal, où A est 10 :
1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419
Même règle, base différente. et 10101111 En binaire :
1×2⁷ + 0 + 1×2⁵ + 0 + 1×2³ + 1×2² + 1×2¹ + 1×2⁰ = 128 + 32 + 8 + 4 + 2 + 1 = 175
Les deux algorithmes qui ne sont pas conformes à cette règle sont le convertisseur entier :
Lecture d'un nombre dans la base B est un pli de gauche à droite. Commencez à zéro et pour chaque chiffre : value = value × b + digit. C'est la méthode de Horner, et c'est pourquoi le convertisseur n'a jamais besoin de calculer b^i Explicitement — aucune exponentiation, aucune virgule flottante, aucune erreur accumulée.
Écrire une valeur dans la base C est une division répétée. Diviser par C, garder le reste comme le chiffre suivant (à partir de la droite), répéter avec le quotient jusqu'à ce qu'il atteigne zéro. Les autres, lus en arrière, sont les chiffres.
Les deux opérations sont exactes sur des entiers, c'est pourquoi les faire dans BIGINT vous donne une conversion sans arrondissement dans le pipeline. La valeur 123456789012345678901234567890 se convertit en hexadécimal 18EE90FF6C373E0EE4E3F0AD2 — 97 bits, 13 octets — et convertit exactement la décimale avec laquelle vous avez commencé. Essayez cela dans un convertisseur basé sur parseInt.
Il y a un détail à noter sur l'alphabet numérique. La base 36 est le plafond pratique car c'est la dernière base que vous pouvez écrire avec des alphanumériques ASCII insensibles à la casse : 0-9 vous donne dix chiffres, A-Z Vous donne vingt-six autres, et 10 + 26 = 36. Poussez-le et vous avez besoin de la sensibilité de la casse (base 62) ou d'un alphabet de symbole (base64), auquel cas vous ne faites plus de notation arithmétique - vous effectuez un encodage binaire vers texte, qui est un travail différent avec des règles différentes. Si c'est ce dont vous avez réellement besoin, utilisez le Convertisseur de base64 à la place.
Pourquoi les cartes hexadécimales sont-elles si proprement en binaire
Hex n'est pas populaire dans la programmation car il est compact. La base 10 est plus compacte que la base 16 pour la même valeur en termes de familiarité humaine, et si la compacité était l'objectif que nous utiliserions la base 36. Hex Won pour une raison structurelle : 16 est 2⁴.
Cela signifie qu'un chiffre hexadécimal encode exactement quatre chiffres binaires - un grignotage - sans jamais franchir la frontière entre eux. Le mappage est une table de recherche, pas une opération arithmétique :
| binaire | jeter un sort sur | binaire | jeter un sort sur |
|---|---|---|---|
| 0000 | 0 | 1000 | 8 |
| 0001 | 1 | 1001 | 9 |
| 0010 | 2 | 1010 | un |
| 0011 | 3 | 1011 | si |
| 0100 | 4 | 1100 | C |
| 0101 | 5 | 1101 | ré |
| 0110 | 6 | 1110 | mi |
| 0111 | 7 | 1111 | fa |
convertir 11111111 en le divisant en 1111 1111, lire chaque grignotage sur la table et concaténer : FF. Pas d'arithmétique. convertir 0xDEADBEEF binaire en développant chaque chiffre : 1101 1110 1010 1101 1011 1110 1110 1111. La structure survit.
Parce qu'un octet est de huit bits et un chiffre hexadécimal est de quatre, Un octet est toujours exactement deux chiffres hexadécimaux. 0x00 par 0xFF Couvre tous les octets possibles, c'est pourquoi les vidages hexadécimaux, les adresses MAC, les codes de couleur et les adresses mémoire sont tous écrits en Hex. 0xFF Vous indique en un coup d'œil que vous regardez un octet complet. Decimal 255 ne vous dit rien de ce genre - vous devez savoir que 255 est 2⁸ − 1, et vous devez faire le même rappel pour 65535 et 4294967295.
Octal fonctionne selon le même principe avec 8 = 2³, donc un chiffre octal est exactement trois bits. C'est précisément pourquoi les autorisations de fichiers UNIX sont octales : le mode est de trois groupes de trois bits (lecture, écriture, exécution pour l'utilisateur, groupe, autre) et trois bits est un chiffre octal. chmod 755 est 111 101 101 — Et maintenant, les chiffres signifient quelque chose au lieu d'être un nombre magique que vous avez mémorisé. C'est aussi pourquoi mon bug d'autorisations s'est produit : 755 en décimale n'est pas 755 dans Octal, et rien sur la chaîne 755 annonce lequel il s'agit. le Convertisseur de base de nombres existe en partie pour que vous puissiez régler cette question en trois secondes.
Deux compléments et pourquoi cet outil utilise un signe moins
entrer -42 Et le convertisseur revient -101010. Certaines personnes s'attendent à 11010110 Et considérez le signe moins un bug. Ce n'est pas le cas, et la raison vaut la peine d'être comprise, car c'est la chose la plus mal comprise à propos de binaire.
Le complément de deux n'est pas une propriété d'un nombre. C'est une propriété d'un registre à largeur fixe.
La valeur −1 n'a pas de représentation binaire canonique. Dans un registre de complément de 8 bits, il est 11111111 (0xFF). en 16 bits c'est 0xFFFF. En 32 bits, 0xFFFFFFFF. En 64 bits, seize fs. Ce ne sont pas quatre façons différentes d'écrire le même modèle de bits; ils sont quatre Différents modèles de , et lequel est correct dépend entièrement d'une largeur qui vit dans votre déclaration de type, et non dans le nombre.
Un entier de précision arbitraire - ce qu'est un Bigint et avec quoi fonctionne ce convertisseur - n'a pas de largeur. Ainsi, la seule représentation qui a du sens sans contexte supplémentaire est la magnitude de la signature : un signe moins suivi des chiffres de la magnitude. C'est ce que vous obtenez, et c'est la réponse honnête plutôt qu'une erreur en toute confiance.
Lorsque vous faire décorer Besoin d'un modèle de complément de deux, la recette est simple et vous pouvez l'exécuter dans cet outil :
- Décidez de votre largeur,
nbits. - calculer
2^n + value(avecvaluenégatif). Pour −42 en 8 bits : 256 − 42 = 214. - Convertissez 214 en votre base cible :
11010110En binaire,D6en hexagone.
Le raccourci mécanique que vous avez peut-être appris - inversez chaque bit, puis ajoutez-en un - produit le même résultat, car l'inversion de tous les n bits de X donne (2^n − 1) − x, et en ajouter un donne 2^n − x. L'identité arithmétique est la même opération ; la version qui renverse les bits est la façon dont vous le faites sans diviseur.
Une référence rapide pour les largeurs que les gens utilisent réellement :
| largeur | Plage (signé) | −1 en hexagone | la valeur la plus négative |
|---|---|---|---|
| 8 bits | −128 à 127 | FF |
80 (−128) |
| 16 bits | −32 768 à 32 767 | FFFF |
8000 |
| 32 bits | −2 147 483 648 à 2 147 483 647 | FFFFFFFF |
80000000 |
| 64 bits | ±9,22 × 10¹⁸ | FFFFFFFFFFFFFFFF |
8000000000000000 |
Notez l'asymétrie dans chaque ligne : il y a une valeur de plus que positive que le positif, car zéro occupe un emplacement du côté positif. C'est la source du bogue de débordement classique où la suppression du nombre entier le plus négatif revient. Si vous voulez voir les bits d'une valeur ou d'une chaîne posée directement, le traducteur binaire est l'outil complémentaire pour cela.
A quoi sert la base 36 ?
La base 36 ressemble à une curiosité et est en fait la plus utile des bases "exotiques" pour une raison : c'est la notation de nombre la plus dense qui survit en étant pliée, tapée par un humain et déposée dans une URL sans s'échapper.
Comparez la même valeur de 64 bits entre les bases :
| ignoble | Chiffres nécessaires pour une valeur de 64 bits | exemple |
|---|---|---|
| Binaire (2) | 64 | 1111... |
| Décimale (10) | 20 | 18446744073709551615 |
| Hexadécimal (16) | 16 | FFFFFFFFFFFFFFFF |
| Base 36 | 13 | 3W5E11264SGSF |
| Base 62 | 11 | sensible à la casse |
La base 36 vous permet d'économiser 35 % de Hex et de 35 % d'économies sur la décimale, en utilisant uniquement des caractères qui sont en sécurité dans un chemin d'adresse URL, en toute sécurité dans un nom de fichier, sans ambiguïté sur le téléphone et identiques, que l'utilisateur les tape ou non. C'est pourquoi il apparaît dans les ID de lien court, les numéros de facture, les codes de coupons, les références de commande et les horodatages compacts. Date.now().toString(36) est une astuce courante pour générer un identifiant court, triable et typable humain.
Le compromis est lisible : 3W5E11264SGSF N'est pas quelque chose que vous pouvez atténuer la structure comme vous le pouvez avec l'hex, et il n'y a pas d'alignement propre des bits, car 36 n'est pas une puissance de deux. Utilisez la base 36 lorsque le nombre est un identifiant opaque et que l'objectif est la compacité. Utilisez HEX lorsque la structure de bits du nombre est le point.
Cas d'utilisation courants
Déboguer la mémoire et les vidages hexadécimaux. Vos affichages de débogueur 0x7FFE4A3C, votre journal montre 2147330620, et vous devez savoir s'il s'agit de la même adresse. Collez l'un, lisez l'autre.
Autorisations de fichiers. convertir 755 De l'octal au binaire et voir 111 101 101, qui correspond exactement aux neuf bits d'autorisation dans l'ordre dans lequel le champ de mode les définit. C'est le moyen le plus rapide d'expliquer à quelqu'un pourquoi chmod 644 et chmod 664 Différente par un bit d'écriture de groupe.
valeurs de couleur. #FF5733 est de trois octets : rouge 255, vert 87, bleu 51. La division d'une couleur hexagonale en ses composants décimaux est une conversion à deux chiffres à la fois. Pour le flux de travail complet — palettes, contraste, conversion de format — le cueillette de couleurs Le gère de bout en bout, mais l'arithmétique sous-jacente est exactement celle-ci.
Masques et drapeaux de bit. Un champ de drapeaux de 0b00101100 est 0x2C et décimale 44. Lorsque vous vérifiez quels drapeaux sont définis, le fichier binaire est la seule forme lisible ; lorsque vous écrivez la constante dans le code, Hex est. Vous avez besoin des deux, constamment.
Réseau et protocoles de travail. Les masques de sous-réseaux, les adresses MAC, les groupes IPv6, les numéros de protocole et les sommes de contrôle sont tous hexadécimaux ou binaires dans la spécification et la décimale dans la moitié de l'outillage. Les octets d'adresses IP en particulier sont décimaux en notation pointillée et binaires au moment où vous touchez un masque.
hachages et identifiants. Une sortie SHA-256 est de 64 caractères hexadécimaux - 256 bits, 32 octets. Le convertir en décimal produit un nombre à 78 chiffres, et c'est exactement là que chaque convertisseur naïf se casse, car il est environ 10 ^ 25 fois plus grand que le plafond entier sûr. Si vous générez ces hachages plutôt que de les convertir, le générateur de hasch les produit côté client.
Problèmes d'entretien et de cours. La conversion de base est un élément essentiel des fondamentaux CS, et avoir une implémentation de référence qui montre la valeur dans les quatre bases communes à la fois - avec le nombre de bits - permet de vérifier rapidement votre propre travail.
Comparaison de bases en un coup d'œil
| ignoble | nommer | chiffres | bits par chiffre | Où vous le voyez |
|---|---|---|---|---|
| 2 | binaire | 0-1 | 1 | Masques de bits, drapeaux, registres matériels |
| 8 | octal | 0-7 | 3 | Autorisations de fichiers UNIX, littéraux C Legacy |
| 10 | décimal | 0-9 | ~3,32 | Tout ce qu'un humain écrit |
| 16 | hexadécimal | 0-9, A-F | 4 | Adresses mémoire, couleurs, hachages, octets |
| 32 | Base 32 | 0-9, A-V | 5 | Encodages compacts insensibles à la casse |
| 36 | Base 36 | 0-9, A-Z | ~5,17 | ID courts, codes de facture, numéros de sécurité URL |
La colonne "bits par chiffre" explique l'ensemble du tableau. Les bases qui sont des puissances de deux (2, 8, 16, 32) ont un nombre entier de bits par chiffre, ce qui signifie que les chiffres correspondent aux groupes de bits sans transporter la frontière, c'est ce qui fait de Hex-Binary une recherche plutôt qu'un calcul. Les bases qui ne sont pas des puissances de deux (10, 36) ont un bits par chiffre fractionnaire, c'est pourquoi la conversion décimale en binaire nécessite véritablement arithmétique et ne peut pas être effectuée par substitution.
Et la même chaîne d'entrée peut être un nombre légal dans plusieurs bases avec des valeurs complètement différentes. 101 est un bon à garder à l'esprit :
| lire comme qn | évaluer |
|---|---|
| binaire | 5 |
| octal | 65 |
| décimal | 101 |
| hexadécimal | 257 |
| Base 36 | 1 297 |
Cinq numéros, une chaîne. La base n'est pas une préférence d'affichage - elle fait partie des données, et chaque bogue de cet article vient d'un endroit qui a oublié de l'écrire.
Pour un aperçu plus large des utilitaires basés sur un navigateur, j'ai récupéré ceux que j'utilise quotidiennement dans La boîte à outils du développeur Web.
FAQ
Comment convertir une décimale en binaire ?
Divisez le nombre par 2 à plusieurs reprises et lisez les restes du dernier au premier. Pour 42 : 42 2 = 21 0, 21 2 = 10 1, 10 2 = 5 remains 0, 5 ÷ 2 = 2 1, 2 2 = 2 = 0, 1 2 = 0 2 = 2 = 2 = 2 = 2 = 2 = 2 2 = 2 = 2 2 = 2 2 = 2 2 = 2 2 = 2 = 2 2 = 2 2 = 2 2 2 = 2 restants. La lecture des restes ascendant donne 101010. Le convertisseur exécute cela en arithmétique Bigint, il reste donc exact pour des valeurs bien au-delà de tout ce qu'une calculatrice de poche peut contenir.
Comment convertir Hex en décimal ?
Multipliez chaque chiffre hexadécimal par 16 relevés à la puissance de sa position, comptant à partir de zéro sur la droite, puis ajoutez les produits. FF est (15 × 16) + 15 = 255. 1A3 est (1 × 256) + (10 × 16) + 3 = 419. Définissez la base source sur 16, collez la valeur avec ou sans préfixe 0x, et la décimale apparaît immédiatement.
Comment convertir le fichier binaire en hexadécimal ?
Regroupez les chiffres binaires en grignotages de quatre, à partir de la droite, et mappez chaque grignotage sur un seul chiffre hexadécimal. 11111111 se divise en 1111 et 1111, qui sont F et F, donc la réponse est ff. Le groupement fonctionne parce que 16 est de 2 à la quatrième puissance, donc un chiffre hexadécimal encode exactement quatre bits et aucun portage ne franchit jamais une limite de groupe. C'est pourquoi Hexadecimal est utilisé pour les octets : un octet est toujours exactement deux chiffres hexadécimaux.
Pourquoi les programmeurs utilisent-ils hexadécimal plutôt que décimal ?
Parce que HEX s'apprête à s'approprier proprement les données binaires et décimales. Un chiffre hexadécimal est exactement de quatre bits et un octet est exactement deux chiffres hexadécimaux, donc 0xFF est visiblement un octet complet et 0xdeadbeef est visiblement de quatre octets. Decimal ne vous donne pas une telle structure : rien n'annonce que 255 ne remplit un octet. Hex garde la disposition des bits lisible tout en étant un quart de la longueur du binaire brut.
Ce convertisseur peut-il gérer de très grands nombres ?
Oui. Chaque valeur est analysée par chiffre par chiffre dans un BIGINT, il n'y a donc pas de plafond de 2 ^ 53 et aucun arrondi à virgule flottante à n'importe quelle taille. Un hachage de 256 bits, un module RSA complet ou un décimal à 500 chiffres se convertit exactement. Les convertisseurs construits sur ParseInt ou sur le nombre de valeurs silencieusement corrompues au-dessus de 9 007 199 254 740 991, qui est précisément la plage où une erreur est la plus difficile à repérer.
Est-ce qu'il prend en charge les nombres négatifs et le complément de deux ?
Les valeurs négatives sont prises en charge et rendues avec un signe moins en tête, qui est une notation de magnitude de signe. Le complément de deux n'est pas délibérément appliqué, car il est une propriété d'un registre à largeur fixe plutôt que d'un nombre : -1 est FF en 8 bits, FFFF en 16 bits et FFFFFF en 32 bits. Pour produire un modèle de complément de deux, ajoutez 2 à la puissance de votre largeur choisie à la valeur négative et convertissez le résultat - pour -42 en 8 bits, 256 − 42 = 214, qui est D6 en hex.
A quoi sert la base 36 ?
La base 36 utilise les chiffres 0 à 9 suivis des lettres A-Z, ce qui en fait la notation de nombre la plus dense que vous pouvez créer à partir d'alphanumériques ASCII insensibles à la casse. Il produit des chaînes de caractères courtes, sans danger pour les URL et non sensibles à la casse. C'est pourquoi il apparaît dans les ID de liens courts, les codes de facture, les codes de coupons et les horodatages compacts. Une valeur de 64 bits prend 13 caractères de base 36 au lieu de 20 chiffres décimaux ou 16 chiffres hexadécimaux.
Que signifient la longueur et la longueur des octets ?
La longueur des bits est le nombre de bits significatifs dans la magnitude de la valeur, en ignorant les zéros de tête : 255 a une longueur de bit de 8 et 256 a une longueur de bit de 9. La longueur des octets est ce chiffre arrondi au multiple suivant de huit. Ensemble, ils vous indiquent le plus petit type entier auquel la valeur s'intègre, ce qui est généralement la raison pour laquelle quelqu'un convertit un nombre en binaire en premier lieu.
Mes données sont-elles envoyées sur un serveur lorsque je convertis un numéro ?
non . Chaque conversion est calculée en JavaScript dans votre navigateur, c'est pourquoi le résultat est mis à jour sur chaque frappe plutôt qu'après un aller-retour sur le réseau. Rien de ce que vous tapez n'est transmis, enregistré ou enregistré, et le convertisseur continue de fonctionner sans aucune connexion réseau une fois la page chargée.
