Convertisseur de bases
Réécrit un entier d'une base comprise entre 2 et 36 dans une autre : l'hexadécimal FF vaut 255 en décimal. Chaque chiffre est vérifié par rapport à sa base, un chiffre interdit est donc signalé au lieu d'être deviné. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur
- FF
- Base de numération source
- 16
- Base de numération cible
- 10
- Résultat
- 255
- Forme normalisée
- FF
- Décimal (base 10)
- 255
- Nombre de chiffres
- 3
Un convertisseur de bases réécrit le même entier dans une autre base de numération sans en changer la valeur. Binaire, octal, décimal et hexadécimal apparaissent chaque jour en cours de programmation, masques réseau, codes couleur et micrologiciels embarqués, et des bases au-delà de seize figurent dans des schémas sériels compacts et des problèmes de concours. Cet outil accepte un entier écrit avec les chiffres de zéro à neuf et les lettres de A à Z dans toute base source de deux à trente-six, vérifie que chaque chiffre est légal pour cette base, puis émet la chaîne équivalente dans la base cible.
Comment la conversion de base préserve la valeur entière
Un entier en base b est une somme pondérée de ses chiffres : le chiffre le plus à droite vaut un, le suivant vaut b, puis b au carré, et ainsi de suite. Convertir de la base b vers la base k consiste à retrouver cet unique entier non négatif et à le réécrire avec des poids qui sont des puissances de k.
En pratique, le convertisseur parcourt la chaîne source de gauche à droite, multiplie le total courant par la base source et ajoute la valeur de chaque chiffre après avoir confirmé qu’il est strictement inférieur à la base source. Les chiffres de zéro à neuf se mappent à eux-mêmes ; les lettres de A à Z (insensibles à la casse) se mappent de dix à trente-cinq.
Une fois l’entier absolu connu, la représentation cible est produite par divisions répétées par la base cible, en collectant les restes comme chiffres et en les lisant du dernier reste au premier. Zéro est un unique chiffre zéro dans toute base. Un signe moins initial est conservé pour les valeurs non nulles ; les signes plus sont acceptés et supprimés.
Les zéros de tête dans la source sont ignorés pour la valeur, mais la réponse renvoie aussi une forme normalisée en majuscules sans zéros de tête superflus afin que les appelants comparent les chaînes de façon déterministe. La magnitude décimale absolue est plafonnée à la limite des entiers sûrs JavaScript, de sorte que chaque reste et chaque valeur de place restent exacts—sans dérive en virgule flottante, sans bibliothèques externes et sans appels réseau d’aucune sorte.
Où la conversion de bases intervient dans le travail réel
Les étudiants qui déboguent des devoirs bit à bit ont besoin d’un oracle fiable qui signale un chiffre illégal plutôt que d’envelopper en silence ou d’inventer un résultat. Les ingénieurs firmware et réseau basculent entre masques binaires, bits de permission en octal et dumps de registres en hexadécimal lorsqu’ils documentent un appareil ou examinent une capture. Les équipes produit qui émettent des codes alphanumériques compacts en bases supérieures à dix ont encore besoin d’une piste d’audit en base dix pour les outils de support et les entrepôts.
Si vous avez ensuite besoin d’encodage binaire Base64, de conversion d’unités de grandeurs physiques ou d’une somme de chiffres dans une base choisie, ce sont des intentions de recherche et des pages d’atterrissage distinctes, non des surcharges de ce convertisseur de bases.
Cas d’usage
Exercices de classe en binaire, octal et hex
Convertissez les valeurs de devoirs entre bases 2, 8, 10 et 16 avec des erreurs claires de chiffre invalide que les élèves peuvent corriger.
Dumps de registres firmware et réseau
Réécrivez des valeurs de registre hexadécimales en chaînes de bits binaires ou en comptages décimaux pour docs, tickets et revues de code.
Questions fréquentes
Quelles bases sont prises en charge ?
Toute base entière de 2 à 36 pour la source comme pour la cible. Les chiffres utilisent 0-9 puis A-Z (insensible à la casse en entrée).
Les lettres sont-elles sensibles à la casse ?
Les lettres d’entrée sont insensibles à la casse. La sortie utilise toujours A-Z en majuscules pour les chiffres dix et au-delà.
Comment les nombres négatifs sont-ils traités ?
Un signe moins initial optionnel est accepté. La valeur absolue est convertie et le signe est rétabli sur les résultats non nuls.
Quel est le coût ?
L’outil navigateur est gratuit et s’exécute en local.
Comment écrire 255 en binaire ?
Sous la forme de huit 1 à la suite. Choisissez 10 comme base de départ et 2 comme base d'arrivée ; le même nombre s'écrit FF en hexadécimal, car 255 est la plus grande valeur tenant sur huit chiffres binaires.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/numth/radix-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"FF","from_base":16,"to_base":10}'const res = await fetch("https://api.kit.forhosting.com/numth/radix-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "FF",
"from_base": 16,
"to_base": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/radix-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "FF",
"from_base": 16,
"to_base": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/radix-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"FF","from_base":16,"to_base":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"FF","from_base":16,"to_base":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/radix-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"value": "FF",
"from_base": 16,
"to_base": 10
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.radix_convert",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
min_base | 2 |
max_base | 36 |
max_value_chars | 64 |
max_abs_decimal | 9007199254740991 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Ce que vous envoyez et ce que vous recevez
Les contrôles classiques incluent hexadécimal FF vers décimal deux cent cinquante-cinq, décimal deux cent cinquante-cinq vers binaire huit uns, et octal sept cinq cinq vers décimal quatre cent quatre-vingt-treize. Fournissez trois champs : value comme le texte entier dans l’alphabet source, from_base comme un entier de deux à trente-six, et to_base comme la base de destination dans la même plage. Des alias plus conviviaux sont acceptés : number, n, input ou text pour la valeur ; from, source_base, base_from ou src_base pour la base source ; to, target_base, base_to ou dst_base pour la base cible. Champs manquants, bases non entières, bases hors de deux à trente-six, valeurs vides, caractères illégaux, chiffres trop grands pour la base source, corps de plus de soixante-quatre caractères significatifs ou magnitudes au-delà de la limite des entiers sûrs sont rejetés avec invalid_input et ne sont pas facturés. En cas de succès la réponse renvoie la chaîne value d’origine et les bases effectives, fournit normalized comme la forme canonique signée en majuscules, decimal comme l’entier signé en base dix, result comme la chaîne convertie dans la base cible, negative comme booléen et digit_count comme le nombre de chiffres du corps absolu du résultat.
Où la conversion de bases intervient dans le travail réel
Comme cette capacité est un moteur de parse pur, la même valeur et les mêmes bases produisent toujours le même JSON sans dérive de modèle ni état stocké. Le tarif API est la base publiée de $0.002 par élément réussi ; une validation échouée ne consomme pas de solde.
Cas d'intégration
Fixtures golden de concours et CI
Générez des chaînes déterministes en base b à partir d’entiers connus pour tests de concours de programmation et assertions de pipeline.
Questions techniques
Que se passe-t-il si un chiffre est invalide pour la base source ?
La requête échoue avec invalid_input, en nommant le caractère incorrect et la plage de chiffres autorisée. L’entrée invalide n’est pas facturée.