Rechner für Binärdecoder-Ausgänge und Adressbereich
Vier Eingangsleitungen ergeben einen 4-zu-16-Decoder: sechzehn Ausgänge, und ein Block ab 4096 endet bei 4111, also von 0x1000 bis 0x100F. So planen Sie Chip-Select-Signale und prüfen Ihre Speicherbelegung vor der Verdrahtung. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Eingangsleitungen
- 4
- Basisadresse
- 4.096
- Ausgangsleitungen
- 16
- Decoder-Notation
- 4-to-16
- Eindeutige Adressen
- 16
Ein Binärdecoder wandelt einen n-Bit-Eingangscode in eine aktive Auswahl unter mehreren Ausgangsleitungen um. Geben Sie die Anzahl der Eingangs- oder Adressleitungen und bei Bedarf die erste dem Baustein zugewiesene Adresse ein. Sie erhalten die Decoder-Bezeichnung, die Ausgangszahl, die eindeutigen Adressen sowie die dezimalen und hexadezimalen Bereichsgrenzen.
Von Eingangsleitungen zu Decoder-Ausgängen
Ein binärer Eingang mit n Leitungen kann 2^n verschiedene Bitmuster darstellen, da jede Leitung unabhängig zwei Zustände besitzt. Drei Eingangsleitungen stellen beispielsweise 000 bis 111 dar und steuern acht wählbare Ausgänge an. Dies wird als 3-zu-8-Decoder bezeichnet.
Vier Leitungen ergeben sechzehn Muster und einen 4-zu-16-Decoder. Die Berechnung setzt einen vollständigen Binärdecoder voraus und keinen Teildecoder, der Kombinationen absichtlich auslässt. Freigabeeingänge erhöhen die Zahl der decodierten Kombinationen normalerweise nicht: Sie bestimmen, ob der Baustein aktiv ist, während die n Auswahleingänge festlegen, welcher der 2^n Ausgänge gewählt wird.
Den eindeutig gewählten Adressbereich lesen
In einem Adressdecodiersystem kann jeder Decoder-Ausgang ein Register, eine Speicherstelle, ein Peripheriegerät oder einen untergeordneten Block auswählen. Ein Vierleitungsdecoder mit der Dezimalbasis 4096 umfasst sechzehn Adressen: 4096 bis 4111 beziehungsweise 0x1000 bis 0x100F. Die Antwort kennzeichnet den Bereich ausdrücklich als inklusiv und zeigt dezimale sowie hexadezimale Grenzen, um Fehler um eins zu vermeiden.
Ohne Basis wird null verwendet; daraus ergibt sich der kanonische Bereich 0 bis 2^n - 1. Reale Hardware muss zusätzlich die nötigen höherwertigen Adressbits decodieren, um die gewählte Basis festzulegen und gespiegelte Adressen zu verhindern.
Das Ergebnis auf reale Hardware anwenden
Verwenden Sie die Ausgangszahl, wenn Sie einen Decoder-IC auswählen, Wahrheitstabellen zeichnen oder ermitteln, wie viele Chip-Select-Signale bestimmte Adressleitungen bereitstellen können. Nutzen Sie den Adressbereich zur Dokumentation einer Speicherbelegung oder zur Prüfung, ob benachbarte Zuweisungen überlappen. Die Basisadresse sollte zur Position des decodierten Blocks im System passen.
Eine Ausrichtung an der Blockgröße ist oft praktisch, weil die höherwertigen Bits dabei im gesamten Bereich konstant bleiben. Der Rechner akzeptiert jede nichtnegative Basis und kann deshalb auch Übungen sowie ungewöhnliche Zuordnungen abbilden. Er verarbeitet eine bis zweiundfünfzig Eingangsleitungen und hält jedes Ergebnis im exakten Ganzzahlbereich von JavaScript.
Überschreitet die Endadresse diesen Bereich, wird die Anfrage abgelehnt. Die Rechnung beschreibt weder elektrische Polarität, Laufzeit, Fan-out, Freigabeverhalten noch aktive Ausgangspegel; entnehmen Sie diese Angaben dem Datenblatt. Sie reserviert keinen realen Adressraum.
Anwendungsfälle
Decoder-Größe auswählen
Wandeln Sie die Zahl verfügbarer Auswahlleitungen in die genaue Anzahl der für Ihren Logikentwurf benötigten One-Hot-Ausgänge um.
Peripherie-Adressplan erstellen
Berechnen Sie inklusive dezimale und hexadezimale Grenzen für einen Peripherieblock an einer festgelegten Basisadresse.
Digitaltechnik-Aufgaben prüfen
Prüfen Sie n-zu-m-Bezeichnung, Ausgangszahl und zugehörigen Bereich, ohne einen Fehler um eins zu machen.
Häufige Fragen
Wie viele Ausgänge hat ein Decoder mit n Leitungen?
Ein vollständiger Binärdecoder hat 2^n Ausgänge, einen für jede mögliche Kombination der n Eingangsbits.
Warum ist die Endadresse die Basis plus 2^n minus eins?
Der Bereich ist inklusiv. Die erste Adresse belegt bereits eine der 2^n Stellen, daher ist der letzte Versatz 2^n - 1.
Zählen Freigabeeingänge als Decoder-Eingangsleitungen?
Nein. Verwenden Sie für n die unabhängigen binären Auswahl- oder Adresseingänge. Die Freigabe steuert die Decodierung, fügt aber keine regulären Auswahlen hinzu.
Kann ich eine hexadezimale Basisadresse eingeben?
Der Eingabevertrag akzeptiert eine nichtnegative dezimale Ganzzahl. Die Antwort zeigt beide Grenzen dezimal und hexadezimal an.
Zeigt das Ergebnis, ob die Ausgänge aktiv-high oder aktiv-low sind?
Nein. Der Rechner liefert nur die exakte Zahl der Ausgänge und den Adressbereich. Polarität, Laufzeit, Belastbarkeit der Ausgänge und das Verhalten der Freigabeeingänge entnehmen Sie dem Datenblatt des gewählten Bausteins.
Verwandte Tools
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem 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)Beispiel-Anfrage
{
"input_lines": 4
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.decoder_outputs",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |
Technische Hinweise
Dieser Rechner nutzt die Grundbeziehung m = 2^n und ordnet die eindeutigen Auswahlen einem inklusiven Systemadressbereich zu.
Von Eingangsleitungen zu Decoder-Ausgängen
Ein Decoder weist jedem Muster einen Ausgang zu; ein idealer vollständiger Decoder benötigt daher m = 2^n Ausgänge. Geben Sie die Zahl als input_lines ein. Der Rechner liefert output_lines und unique_addresses mit demselben Wert sowie die übliche Decoder-Bezeichnung.
Den eindeutig gewählten Adressbereich lesen
Ein Decoder mit n Eingängen kann daher 2^n aufeinanderfolgende Adressen eindeutig wählen, wenn seine Ausgänge den Kombinationen der niederwertigen Adressbits entsprechen. base_address bezeichnet die erste Stelle des Blocks. Die letzte Stelle ist base_address + 2^n - 1, weil beide Grenzen eingeschlossen sind.
Das Ergebnis auf reale Hardware anwenden
Die automatisierte API-Nutzung kostet $0.002 je Anfrage.
Technische Fragen
Was kostet eine API-Anfrage?
Jede API-Anfrage kostet $0.002. Die Berechnung ist deterministisch und kann außerdem kostenlos im Browser ausgeführt werden.