Convertisseur de base
Réécrivez un nombre d'une base dans une autre, de la base 2 à la base 36 : 1010 en binaire vaut 10 en décimal. Les grandes valeurs restent exactes jusqu'au dernier chiffre et le signe moins initial est conservé. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur
- 1010
- Base source
- 2
- Base cible
- 10
- Résultat
- 10
Convertit une chaîne de chiffres d'une base à une autre entre la base 2 et la base 36 à l'aide de grands entiers à précision arbitraire, en préservant un signe moins de tête facultatif.
Ce que veut vraiment dire changer de base
Une base indique combien de chiffres différents un système de numération utilise avant de passer à une nouvelle position. Le décimal en utilise dix, le binaire deux, l'hexadécimal seize et la base 36 les dix chiffres plus les vingt-six lettres. La quantité ne change jamais ; seule sa façon de s'écrire change. C'est pourquoi 1010 en binaire et 10 en décimal désignent le même nombre. Le convertisseur lit vos chiffres dans la base de départ, calcule le nombre entier qu'ils représentent, puis l'écrit à nouveau dans la base d'arrivée. Du binaire à l'hexadécimal, de l'hexadécimal au décimal ou du décimal à la base 36, la démarche est toujours la même.
Les erreurs que ce convertisseur évite
Beaucoup d'outils courants perdent de la précision sans prévenir dès qu'un nombre dépasse 2^53, et les derniers chiffres d'un long identifiant ou d'une empreinte reviennent faux. Ici, chaque valeur est traitée comme un entier exact de 200 caractères au plus, donc rien n'est arrondi. Un chiffre qui n'existe pas dans la base de départ, comme un 2 en binaire ou un G en hexadécimal, est signalé au lieu d'être ignoré. Les préfixes comme 0x ne sont pas acceptés, si bien que la base est toujours celle que vous avez choisie. Seuls les entiers sont pris en charge : une virgule décimale ou une fraction ne se convertit pas.
Le même résultat exact à chaque conversion
Parce que l'arithmétique s'exécute sur BigInt, il n'y a pas de perte de précision silencieuse comme peuvent en subir parseInt et Number.toString(radix) près de et au-delà de 2^53, ce qui rend cet outil sûr pour de grands hachages, identifiants, valeurs de couleur ou masques de bits. Les usages courants incluent les conversions binaire-vers-hexadécimal et hexadécimal-vers-décimal, l'encodage d'identifiants dans un alphabet compact en base 36, et l'examen de l'apparence d'un nombre selon les bases.
Cas d’usage
Inspection de nombres pour développeurs
Convertissez entre binaire, octal, décimal et hexadécimal en déboguant des masques de bits, des drapeaux ou des valeurs de couleur.
Identifiants compacts en base 36
Encodez de grands identifiants décimaux en une chaîne base 36 plus courte, ou décodez-les à l'identique avec de grands entiers.
Questions fréquentes
Gère-t-il les très grands nombres ?
Oui. Les valeurs sont analysées comme des BigInt, de sorte que la conversion est exacte sans perte en virgule flottante, même au-delà de 2^53.
Les nombres négatifs et les lettres sont-ils autorisés ?
Un signe moins de tête est préservé, les lettres A-Z servent de chiffres au-dessus de 9, et l'entrée est mise en majuscules de sorte que 'ff' égale 'FF'.
Comment convertir du binaire en hexadécimal ?
Choisissez 2 comme base de départ et 16 comme base d'arrivée, puis saisissez les chiffres binaires. Les mêmes étapes valent pour toute paire de bases entre 2 et 36, par exemple de l'hexadécimal au décimal.
Puis-je écrire 0x ou 0b devant le nombre ?
Non. Ces préfixes sont refusés, car la base se choisit à part et ne se devine pas à partir du nombre. Retirez le 0x ou le 0b et choisissez la base 16 ou la base 2.
Quels chiffres utilise la base 36 ?
Les chiffres de 0 à 9 suivis des lettres de A à Z : la base 16 s'arrête donc à F et la base 36 utilise tout l'alphabet. Majuscules et minuscules comptent comme le même chiffre.
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/dev/number-base \
-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/dev/number-base", {
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/dev/number-base",
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/dev/number-base", 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/dev/number-base", 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": "dev.number_base",
"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_value_chars | 200 |
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
Conversion de base avec de grands entiers
Parce que la valeur est conservée comme un BigInt plutôt qu'un nombre JavaScript, les conversions sont exactes pour des magnitudes arbitrairement grandes, sans perte en virgule flottante. dev.number_base analyse value comme une chaîne de chiffres en from_base, l'accumule dans un BigInt, puis réencode cet entier en to_base. from_base et to_base sont tous deux des entiers dans la plage 2 à 36 ; les chiffres utilisent 0-9 suivis de A-Z, de sorte que la base 16 utilise 0-F et la base 36 utilise l'alphabet complet. L'entrée est mise en majuscules avant l'analyse, de sorte que l'hexadécimal 'ff' et 'FF' sont équivalents, et chaque caractère est vérifié comme un chiffre valide strictement inférieur à from_base — toute autre valeur renvoie une erreur typée invalid_input. La réponse renvoie la value d'origine, from_base, to_base et la chaîne de résultat encodée, de sorte que l'exemple binaire '1010' de la base 2 à la base 10 renvoie '10'.
Entrée acceptée et règles strictes
value doit être une chaîne non vide d'au plus 200 caractères, et le résultat encodé est de même plafonné à 200 caractères. Un unique signe moins de tête est autorisé et préservé tout au long de l'aller-retour, de sorte que les nombres négatifs se convertissent correctement, mais les préfixes de base sont explicitement rejetés : toute value commençant par 0x, 0X, 0b ou 0B renvoie invalid_input, car la base est donnée par from_base et non déduite d'un préfixe. Il n'y a aucune prise en charge des fractions ni de la virgule décimale — uniquement des entiers. from_base et to_base doivent tous deux être des entiers dans 2 à 36 ; une valeur hors de cette fenêtre, un chiffre non légal pour la base source, une chaîne vide ou trop longue, ou un signe moins seul déclenchent tous une erreur typée invalid_input avec un message nommant la faute, de sorte que les appelants peuvent la rattraper et la remonter proprement.
Cas d'intégration
Conversion de base par lots
Appelez l'API sur une colonne de valeurs pour convertir tout un jeu de données entre deux bases en un seul travail.
Questions techniques
Quelles bases sont prises en charge ?
Toute base entière de 2 à 36 pour from_base comme pour to_base, à l'aide des chiffres 0-9 puis A-Z.
Puis-je utiliser les préfixes 0x ou 0b ?
Non. Les valeurs préfixées sont rejetées par invalid_input ; la base provient de from_base, non d'un préfixe.
Quelles sont les limites et le coût ?
value et le résultat sont chacun plafonnés à 200 caractères ; le widget de navigateur est gratuit et l'API ne facture que les tâches réussies à partir de $0.002.