Convertisseur base fractionnaire
Le 0.1 décimal s'écrit 0.0(0011) en binaire : un cycle de 4 chiffres qui se répète sans fin, pas un bit arrondi. Convertissez toute fraction entre les bases 2 et 16, avec le bloc périodique entre parenthèses et la longueur de la période. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur
- 0.1
- Base de départ
- 10
- Base d'arrivée
- 2
- Résultat
- 0.0(0011)
- Nombre maximal de chiffres
- 32
- Partie non périodique
- 0
- Période
- 4
Les convertisseurs de base entière s’arrêtent au point de base. Étudiants, auteurs de compilateurs et ingénieurs embarqués ont encore besoin de la moitié fractionnaire : le 0.1 binaire vaut un demi, le 0.1 décimal un dixième, et le même rationnel devient un autre flux de chiffres — souvent périodique — quand la base change. Ce convertisseur de partie fractionnaire accepte une fraction pure écrite dans toute base source de deux à seize, éventuellement avec un bloc périodique entre parenthèses comme 0.1(6), reconstruit le rationnel exact par arithmétique BigInt, puis réécrit la valeur dans la base cible en mappant les restes pour que les vraies périodes apparaissent en 0. AB(C) plutôt qu’en troncature opaque.
Pourquoi convertir la partie fractionnaire n’est pas convertir des entiers
La conversion d’entiers parcourt des valeurs de place qui croissent comme des puissances de la base : unités, base, base au carré, et ainsi de suite. Les valeurs fractionnaires décroissent : base à la puissance moins un, moins deux, etc. Cette seule différence casse tout convertisseur uniquement entier dès que l’utilisateur colle 0.1, 0.
A3 ou 0.0011. En base dix, 0.1 est exactement un dixième ; en base deux le même dixième est le développement infini 0.0(0011), car dix et deux ne partagent pas de facteur fini qui terminerait les deux écritures. Les manuels l’introduisent avec un tiers décimal égal à 0.1 en base trois et 0.(3) en base dix, mais la même identité vaut pour toute paire de bases de deux à seize.
Un convertisseur d’entiers qui supprime silencieusement le point de base, ou qui multiplie seulement par de grandes puissances et arrondit, invente un autre nombre.
Contrat d’entrée, notation périodique et forme de la réponse
Les bases sont des entiers de deux à seize inclus. Le champ value est uniquement la partie fractionnaire : écrivez 0. ABC, . ABC ou ABC pour un développement fini dans l’alphabet source 0–9 et A–F (insensible à la casse).
Pour une période connue en source, ajoutez un bloc entre parenthèses : 0.1(6) signifie un sixième en base dix écrit 0.1666…, et 0.(3) le trois purement périodique. Une partie entière non nulle est rejetée — associez cet outil à un convertisseur d’entiers si vous avez besoin des deux moitiés.
Quand convertir une fraction d'une base à l'autre
Les salles de cours d’informatique utilisent un convertisseur de partie fractionnaire pour que les apprenants voient que 0.1 décimal n’est pas 0.1 binaire et mesurent la longueur de période sans division longue manuelle à chaque exercice. Auteurs de compilateurs et d’interpréteurs vérifient les tables de littéraux en embarquant des constantes fractionnaires dans différentes syntaxes de base. Ingénieurs embarqués et DSP comparent les motifs en virgule fixe binaires et hexadécimaux aux feuilles de conception décimales avant de figer les largeurs de mot.
Gardez des requêtes petites, figez dans les tests les chaînes dorées du result — y compris les parenthèses de période — et vous obtenez des réécritures fractionnaires reproductibles pour devoirs, plugins LMS et workers en périphérie sans déployer un système d’algèbre symbolique propre.
Cas d’usage
Devoirs d’informatique et TP de bases
Convertissez des fractions de cours telles que 0.1₁₀ ↔ binaire ou 0.A₁₆ ↔ décimal et montrez résultats terminants versus périodiques avec la longueur de période.
Tables de compilateurs et spécifications de langage
Générez des flux exacts de chiffres fractionnaires pour vérifier comment les littéraux numériques se réécrivent entre bases 2–16 dans les analyseurs et suites de tests.
Contrôles virgule fixe et conception DSP
Recoupez des valeurs de conception décimales avec des motifs fractionnaires binaires ou hex avant de figer la longueur de mot et les facteurs d’échelle.
Questions fréquentes
Quelles bases sont prises en charge ?
Bases source et cible de 2 à 16 inclus. Les chiffres sont 0–9 et A–F selon les besoins de la base source.
Comment s’écrit la notation périodique ?
En entrée, utilisez un (bloc) final tel que 0.1(6) ou 0.( 3). En sortie, les développements périodiques apparaissent en 0.préfixe(bloc) avec period égal à la longueur du bloc.
Pourquoi le 0.1 décimal ne se termine-t-il jamais en binaire ?
Parce qu'un dixième n'a pas d'écriture finie en base deux. Le convertisseur reconstruit la fraction exacte, constate que les chiffres 0011 se répètent sans fin et écrit 0.0(0011), de période 4, au lieu d'une suite de bits arrondie.
Puis-je convertir un nombre avec une partie entière ?
Non. Seule la partie après le point est acceptée, et une partie entière non nulle est refusée. Convertissez la partie entière avec un convertisseur de bases pour entiers, puis assemblez les deux moitiés.
Combien de chiffres le résultat affiche-t-il ?
Jusqu'à 32 chiffres après le point par défaut, et jusqu'à 64 si vous relevez la limite. Si un cycle revient plus tôt, il est fermé entre parenthèses ; si la limite arrive d'abord, le résultat signale qu'il a été coupé.
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/base-fraction-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0.1","from_base":10,"to_base":2}'const res = await fetch("https://api.kit.forhosting.com/dev/base-fraction-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0.1",
"from_base": 10,
"to_base": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/base-fraction-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0.1",
"from_base": 10,
"to_base": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/base-fraction-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0.1","from_base":10,"to_base":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0.1","from_base":10,"to_base":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/base-fraction-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": "0.1",
"from_base": 10,
"to_base": 2
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.base_fraction_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.
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
Un plafond max_digits borne les développements pathologiques.
Pourquoi convertir la partie fractionnaire n’est pas convertir des entiers
Concepteurs de formats en virgule fixe, démos de style IEEE et tables de constantes assembleur ont constamment besoin de cette réécriture avec une réponse honnête sur la terminaison face à la longueur de période. Cette capacité n’arrondit jamais la source : elle analyse les chiffres en fraction réduite exacte puis émet les chiffres cibles par la carte classique des restes, de sorte que les cas terminants, purement périodiques et mixtes restent fidèles jusqu’à ce que max_digits impose un arrêt contrôlé.
Contrat d’entrée, notation périodique et forme de la réponse
Envoyez un corps JSON avec value, from_base et to_base. L’option max_digits (défaut trente-deux, maximum soixante-quatre) plafonne le nombre de chiffres cibles générés avant l’arrêt ; si un reste se répète plus tôt, le cycle se ferme avec des parenthèses et truncated vaut false. En succès le corps renvoie value normalisé, les deux bases, max_digits, le result du type 0.0(0011), le préfixe non_repeating, le bloc repeating optionnel, les drapeaux is_terminating et is_repeating, la longueur de période, le booléen truncated, un decimal_approx court et une chaîne formula. Chiffres invalides pour la base source, bases hors de deux à seize, fractions vides et parenthèses mal formées échouent avec invalid_input et ne sont pas facturés. Exemple : value 0.1, from_base dix et to_base deux produit la fraction binaire périodique d’un dixième, pas un bit arrondi.
Où une API de base fractionnaire justifie son coût
Comme l’implémentation est parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant ; une validation en échec ne consomme pas le solde.
Questions techniques
Comment convertir un nombre fractionnaire entre deux bases ?
Envoyez value (par ex. 0.1 ou 0.1(6)), from_base et to_base comme entiers 2–16. L’API renvoie la fraction réécrite avec parenthèses lorsqu’un cycle périodique est détecté.
Que contrôle max_digits ?
Il plafonne le nombre de chiffres fractionnaires cibles émis (défaut 32, max 64). Les vrais cycles se ferment tôt via la carte des restes ; seules les longues expansions non détectées mettent truncated à true.
Combien coûte le convertisseur de base fractionnaire ?
L’outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n’est pas facturée.