Calculateur de sorties de décodeur binaire et plage
Un décodeur binaire transforme un code d'entrée de n bits en une sélection active parmi plusieurs lignes de sortie.
Lancer gratuitement
Ce calculateur applique la relation fondamentale m = 2^n, puis associe ces sélections uniques à une plage inclusive d'adresses système. Indiquez le nombre de lignes d'entrée ou d'adresse et, si nécessaire, la première adresse attribuée au composant. Vous obtenez la notation du décodeur, le nombre de sorties, les adresses uniques et les bornes décimales et hexadécimales de la plage.
Des lignes d'entrée aux sorties du décodeur
Une entrée binaire de n lignes représente 2^n motifs de bits distincts, car chaque ligne possède indépendamment deux états. Un décodeur associe une sortie à chaque motif : un décodeur complet idéal exige donc m = 2^n sorties. Par exemple, trois lignes représentent 000 à 111 et commandent huit sorties sélectionnables, soit un décodeur 3 vers 8. Quatre lignes produisent seize motifs et un décodeur 4 vers 16. Saisissez le nombre dans input_lines. Le calculateur renvoie output_lines et unique_addresses avec la même valeur, ainsi que la notation usuelle. Le calcul suppose un décodeur binaire complet, et non un composant partiel qui omet volontairement certaines combinaisons. Les broches d'activation n'augmentent normalement pas le nombre de combinaisons : elles autorisent le fonctionnement du composant, tandis que les n entrées de sélection déterminent laquelle des 2^n sorties est choisie.
Interpréter la plage d'adresses sélectionnée
Dans un système de décodage d'adresses, chaque sortie peut sélectionner un registre, un emplacement mémoire, un périphérique ou un bloc subordonné. Un décodeur à n entrées peut donc sélectionner de manière unique 2^n adresses consécutives lorsque ses sorties correspondent aux combinaisons des bits de poids faible. base_address désigne le premier emplacement du bloc. Le dernier vaut base_address + 2^n - 1, puisque les deux bornes sont incluses. Un décodeur à quatre lignes placé à la base décimale 4096 couvre seize adresses : de 4096 à 4111, soit de 0x1000 à 0x100F. La réponse précise que la plage est inclusive et affiche ses bornes en décimal et en hexadécimal afin d'éviter les décalages d'une unité. Sans base, zéro est utilisé et donne la plage canonique de 0 à 2^n - 1. Le matériel réel doit aussi décoder les bits d'adresse supérieurs nécessaires pour fixer la base et éviter les adresses miroir.
Appliquer le résultat au matériel réel
Utilisez le nombre de sorties pour choisir un circuit intégré de décodage, dessiner une table de vérité ou déterminer combien de signaux de sélection de puce un ensemble de lignes d'adresse peut fournir. Utilisez la plage pour documenter une carte mémoire ou vérifier le chevauchement d'allocations voisines. L'adresse de base doit correspondre à l'emplacement du bloc dans le système ; un alignement sur la taille du bloc facilite souvent la conservation de bits supérieurs constants. Le calculateur accepte toute base non négative afin de traiter aussi des exercices et des mappages inhabituels. Il accepte une à cinquante-deux lignes et conserve chaque résultat dans la plage entière exacte de JavaScript. Une requête est refusée si l'adresse finale dépasse cette limite. Le calcul ne décrit ni polarité électrique, ni délai de propagation, ni fan-out, ni activation, ni niveau actif des sorties ; consultez la fiche technique du composant. Il ne réserve pas non plus d'espace réel. L'utilisation automatisée de l'API coûte $0.002 par requête.
Cas d’usage
Choisir la taille d'un décodeur
Convertissez le nombre de lignes de sélection disponibles en nombre exact de sorties one-hot requises par votre circuit logique.
Construire une carte de périphériques
Calculez les bornes inclusives décimales et hexadécimales d'un bloc périphérique placé à une adresse de base donnée.
Vérifier un exercice de logique numérique
Contrôlez la notation n vers m, le nombre de sorties et la plage correspondante sans erreur de décalage d'une unité.
Questions fréquentes
Combien de sorties possède un décodeur à n lignes ?
Un décodeur binaire complet possède 2^n sorties, une pour chaque combinaison possible des n bits d'entrée.
Pourquoi l'adresse finale vaut-elle la base plus 2^n moins un ?
La plage est inclusive. La première adresse occupe déjà l'une des 2^n positions ; le décalage final est donc 2^n - 1.
Les entrées d'activation comptent-elles comme lignes du décodeur ?
Non. Pour n, utilisez les entrées binaires indépendantes de sélection ou d'adresse. L'activation commande le décodage sans ajouter de sélections ordinaires.
Puis-je saisir une adresse de base hexadécimale ?
Le contrat d'entrée accepte un entier décimal non négatif. La réponse fournit chaque borne sous forme décimale et hexadécimale.
Quel est le prix d'une requête API ?
Chaque requête API coûte $0.002. Le calcul est déterministe et peut aussi être exécuté gratuitement dans votre navigateur.
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/elec/decoder-outputs \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input_lines":4}'const res = await fetch("https://api.kit.forhosting.com/elec/decoder-outputs", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input_lines": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/decoder-outputs",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input_lines": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/decoder-outputs", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input_lines":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input_lines":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/decoder-outputs", 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
{
"input_lines": 4
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.decoder_outputs",
"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. |