Convertir un nombre entre les bases 2 à 36
Le nombre hexadécimal -deadBEEF devient -1PS9WXB en base 36. Saisissez un nombre entier, indiquez sa base d'origine et choisissez n'importe quelle base cible de 2 à 36 ; les nombres longs restent exacts, sans arrondi. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Nombre
- -deadBEEF
- Base source
- 16
- Base cible
- 36
- Résultat
- -1PS9WXB
La conversion entre bases réécrit un nombre entier d’un système de numération positionnelle dans un autre sans en modifier la valeur. Saisissez le nombre sous forme de texte, précisez sa base d’origine et choisissez une base cible comprise entre 2 et 36. Le convertisseur contrôle chaque chiffre avant le calcul, accepte les lettres minuscules ou majuscules, conserve un signe négatif pertinent et renvoie un résultat canonique en majuscules. L’arithmétique en précision arbitraire maintient l’exactitude des longues entrées au lieu de les arrondir selon les limites d’un nombre JavaScript ordinaire. L’opération est déterministe, ne sollicite aucun service réseau et signale les nombres mal formés ou les bases non admises comme des erreurs de saisie.
Décrivez précisément le nombre d’origine
Commencez par déterminer la base dans laquelle le nombre fourni est déjà écrit. Une base définit à la fois les symboles disponibles et la valeur de chaque position. La base 2 n’admet que 0 et 1 ; la base 8 accepte les chiffres de 0 à 7 ; la base 10 emploie ceux de 0 à 9 ; et la base 16 complète les chiffres par les lettres A à F.
Cette convention se poursuit jusqu’à la base 36, où Z vaut trente-cinq. Le nombre peut être entouré d’espaces et commencer par un seul signe plus ou moins, mais son corps doit contenir au moins un chiffre. N’ajoutez pas de préfixe de langage tel que 0x ou 0b, de séparateur de chiffres, de virgule, de point décimal, d’exposant ni d’unité.
Ces caractères ne font pas partie de l’alphabet des entiers et sont refusés. La casse des lettres est indifférente : ff et FF représentent donc la même valeur hexadécimale. La validation dépend strictement de la base déclarée : un caractère peut appartenir à l’alphabet général tout en étant interdit dans une base donnée.
Ainsi, 19 est valide en décimal, mais pas en octal, qui ne possède aucun chiffre de valeur neuf.
Comprenez le déroulement du calcul exact
Le convertisseur évalue d’abord la chaîne source selon la règle positionnelle habituelle. En progressant de gauche à droite, il multiplie la valeur accumulée par la base d’origine, puis ajoute la valeur du chiffre suivant. Cette méthode s’applique uniformément au binaire, au décimal, à l’hexadécimal et à toutes les bases prises en charge entre ces systèmes.
Une fois l’entier exact retrouvé, sa grandeur est exprimée dans la base cible au moyen de divisions successives. Chaque division produit un reste, ce reste désigne un chiffre cible et l’inversion de la suite des restes forme la représentation finale. L’implémentation emploie des entiers en précision arbitraire pendant toute l’opération.
Elle évite ainsi l’arrondi qui peut toucher un identifiant long ou un motif binaire dépassant la plage sûre des nombres à virgule flottante. Les lettres du résultat sont toujours en majuscules, les zéros initiaux superflus disparaissent et toute représentation de zéro devient exactement 0. Le signe moins n’est rétabli que si la valeur mathématique est non nulle ; une entrée telle que -000 ne crée donc pas de zéro négatif distinct.
Aucun hasard, aucune horloge, aucune règle régionale, aucun état conservé, aucune requête distante et aucun modèle n’interviennent. Les trois mêmes champs produisent toujours la même chaîne, octet pour octet.
Validez et exploitez la chaîne renvoyée en sécurité
Une réponse réussie contient result sous forme de chaîne. Conservez ce résultat comme texte, car ses chiffres peuvent inclure des lettres et un entier très grand ne peut pas toujours être représenté exactement par le type numérique du langage appelant. Considérez-la comme une erreur de validation : corrigez le champ indiqué au lieu de renvoyer les mêmes données.
L’entrée est limitée à 4,096 chiffres afin de rendre prévisibles le calcul et la mémoire. Pour effectuer un contrôle indépendant, reconvertissez le résultat en échangeant les deux bases ; la forme canonique peut différer par les zéros initiaux ou la casse, mais la valeur mathématique doit coïncider.
Cas d’usage
Examiner des valeurs de bas niveau
Passez des registres, masques de bits, permissions de fichiers et champs de protocole du binaire à l’octal, au décimal ou à l’hexadécimal.
Raccourcir des identifiants numériques
Exprimez un long identifiant décimal en base 36 sous forme de chaîne alphanumérique compacte tout en préservant sa réversibilité.
Créer des jeux d’essai déterministes
Produisez des chaînes attendues exactes pour les analyseurs, exercices, contrôles de migration et tests de non-régression multilangages.
Questions fréquentes
Quelles bases source et cible sont prises en charge ?
Chaque base doit être un entier compris entre 2 et 36, bornes incluses.
Comment écrire les chiffres dont la valeur dépasse neuf ?
Les lettres A à Z représentent les valeurs de dix à trente-cinq. La saisie ignore la casse et la sortie utilise les majuscules.
Les entiers négatifs ou très longs sont-ils acceptés ?
Oui. Un signe initial est admis et la précision arbitraire conserve exactement les entrées comptant jusqu’à 4,096 chiffres.
Puis-je saisir un préfixe comme 0x ou 0b ?
Non. Choisissez la base d'origine et saisissez uniquement les chiffres. Les préfixes, virgules, espaces entre chiffres et points décimaux ne font pas partie du nombre et sont refusés plutôt que devinés.
Pourquoi mon nombre est-il refusé en base 8 ?
Chaque chiffre doit être inférieur à la base. 19 est valable en décimal mais pas en octal, qui n'a aucun chiffre valant neuf. Vérifiez que la base d'origine correspond à la façon dont le nombre a été écrit.
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/dev2/base-convert-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"number":"101101","source_base":2,"target_base":16}'const res = await fetch("https://api.kit.forhosting.com/dev2/base-convert-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"number": "101101",
"source_base": 2,
"target_base": 16
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev2/base-convert-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"number": "101101",
"source_base": 2,
"target_base": 16
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev2/base-convert-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"number":"101101","source_base":2,"target_base":16}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"number":"101101","source_base":2,"target_base":16}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev2/base-convert-number", 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
{
"number": "101101",
"source_base": 2,
"target_base": 16
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev2.base_convert_number",
"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
max_digits | 4096 |
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
Décrivez précisément le nombre d’origine
Placez la représentation initiale dans le champ number et sa base dans source_base.
Validez et exploitez la chaîne renvoyée en sécurité
La sortie convient ainsi aux identifiants de base de données, masques de bits, permissions, champs de protocole, sommes de contrôle, exercices et jeux d’essai. source_base et target_base doivent être des entiers compris entre 2 et 36, bornes incluses. Une base absente, fractionnaire ou hors limites, un champ number qui n’est pas une chaîne, un corps vide, un signe de ponctuation parmi les chiffres ou un chiffre dont la valeur atteint ou dépasse la base source provoque une réponse invalid_input. Les conversions ponctuelles s’exécutent dans le navigateur, tandis que les requêtes API automatisées sont facturées $0.002 chacune.
Questions techniques
Que se passe-t-il si un chiffre n’appartient pas à la base source ?
La requête échoue avec invalid_input et indique le chiffre fautif ainsi que la base d’origine.
Quel est le prix d’une conversion par API ?
Le tarif de l’API est de $0.002 par requête. Vous pouvez aussi effectuer des conversions ponctuelles dans le navigateur.