Bitweiser NAND-Rechner
12 NAND 10 bei 8 Bit ergibt 247 (binär 11110111, hexadezimal f7), nach einem Zwischen-AND von 8. Wählen Sie eine Breite von 1 bis 53 Bit und sehen Sie jeden Schritt dezimal, binär und hexadezimal, so wie sich ein Bus fester Breite verhält. 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
- A
- 12
- B
- 10
- Breite
- 8
- Ergebnis
- 247
- A maskiert
- 12
- B maskiert
- 10
- AND-Ergebnis
- 8
Bitweises NAND, das invertierte AND zweier Ganzzahlen, ist das universelle Gatter der Digitalschaltungstechnik, das nur dann null liefert, wenn beide Eingangsbits eins sind. Studierende, die Wahrheitstabellen prüfen, Embedded-Ingenieure, die Maskier-und-Invertier-Buslogik testen, und Reverse Engineers, die Bitoperationen in Firmware rekonstruieren, brauchen einen deterministischen Weg zu sehen, was zwölf NAND zehn bei acht Bit in Dezimal, Binär und Hex ergibt, ohne eine REPL zu öffnen, die still auf zweiunddreißig Bit kürzt. Dieser bitweise NAND-Rechner nimmt zwei sichere Ganzzahlen und eine Bitbreite von eins bis dreiundfünfzig entgegen, maskiert jeden Operanden auf die niedrigen Breitenbits, wendet mathematisches NAND als Komplement des AND unter dieser Maske an und liefert das vorzeichenlose Ergebnis mit nullaufgefüllten Binär- und Hexadezimaldarstellungen sowie dem Zwischen-AND, damit Sie jede Stufe prüfen können.
Was bitweises NAND bedeutet und warum die Breite zählt
Das NAND zweier Bits ist nur dann falsch, wenn beide Bits wahr sind: null NAND null ist eins, null NAND eins ist eins, eins NAND null ist eins und eins NAND eins ist null. Diese Wahrheitstabelle ist genau das invertierte AND, sodass ein mehrbitiges NAND das bitweise Komplement des AND der beiden Wörter ist. In der Digitalschaltungstechnik ist ein einzelnes NAND-Gatter universell: jede boolesche Funktion lässt sich allein aus NAND aufbauen, weshalb Lehrbücher und Siliziumbibliotheken es als Primitive behandeln.
In Programmiersprachen gibt es selten einen eigenen NAND-Operator; man schreibt die Negation von a und b, doch die bitweisen Operatoren der Sprache nutzen oft feste Maschinenbreiten und vorzeichenerweiternde Arithmetik, die von einem sauberen vorzeichenlosen Busmodell abweichen. Dieser Rechner nimmt daher eine explizite Breite w von eins bis dreiundfünfzig, bildet die Maske aus w Einsen, maskiert jeden Operanden auf diese niedrigen Bits, berechnet das AND unter der Maske, invertiert und maskiert erneut, sodass das Ergebnis stets ein vorzeichenloser w-Bit-Wert ist.
Dieser Vertrag fester Breite entspricht der Art, wie HDL- und Schaltplan-Werkzeuge einen Bus denken: nur die aktiven Spuren existieren. Binärfelder werden mit Nullen auf w aufgefüllt, damit die Spaltenausrichtung handgezeichneten Wahrheitstabellen entspricht, und Hex-Felder zeigen dieselbe vorzeichenlose Größe für den schnellen Vergleich von Register-Dumps. Negative Werte sind als sichere Ganzzahlen zulässig; nur ihre niedrigen w Bits nehmen teil, was der Zweierkomplement-Kürzung in ein vorzeichenloses Feld der Breite w entspricht, statt unendliche führende Einsen außerhalb des Busses zu erfinden.
Wo ein bitweiser NAND-Rechner echten Nutzen stiftet
Digitaldesign- und FPGA-Labore lassen Studierende weiterhin mehrbitige NAND-Busse bauen und beweisen, dass kaskadierte NAND-Gatter AND, OR und NOT realisieren; ein Live-Rechner, der Dezimal, Binär und Hex bei gewählter Breite meldet, erlaubt Hausaufgabenprüfungen ohne jede Spalte von Hand zu zeichnen. Embedded-Firmware implementiert oft invertierte Maskenprüfungen —ein Peripheriegerät nur freigeben, wenn ein Bit gelöscht ist— durch die Negation von Status und Maske, was genau NAND auf dem relevanten Feld ist; diese Ausdrücke bei acht oder sechzehn Bit zu prüfen, fängt Ein-Bit-Maskenfehler vor dem Silizium ab.
Kurse zur Rechnerarchitektur führen den Sheffer-Strich und funktionale Vollständigkeit ein; zu zeigen, dass a NAND b der Negation von a und b bei gleicher Breite entspricht, verankert die Theorie in Zahlen, die Studierende nachrechnen können. Sicherheitsnotizen, die Bit-Twiddling in Unpackern zurückverfolgen, rekonstruieren manchmal invertierte Konjunktionen statt schlichtes AND; ein deterministisches Orakel, das nie stillschweigend 32-Bit-Vorzeichenerweiterung nutzt, vermeidet die klassische Sprachportierungsfalle.
Anwendungsfälle
Gatter- und HDL-Hausaufgaben prüfen
Prüfen Sie mehrbitige NAND-Bus-Ergebnisse bei 4, 8 oder 16 Bit gegen handgezeichnete Wahrheitstabellen und studentische HDL-Testbenches mit passenden Binärspalten.
Invertierte Maskenlogik in Firmware
Bestätigen Sie die Negation von Status und Maske für Freigabe-wenn-gelöscht-Registermuster und dokumentieren Sie Festbreiten-Feldlayouts in Treiber-Notizen.
Häufige Fragen
Wie berechnet man das bitweise NAND zweier Ganzzahlen?
Senden Sie sichere Ganzzahlen a und b plus width (1–53).
Wie lautet die Wahrheitstabelle für NAND?
0 NAND 0 = 1, 0 NAND 1 = 1, 1 NAND 0 = 1, 1 NAND 1 = 0. Jedes Ergebnisbit ist 0 nur dort, wo beide Operanden 1 haben; das ist invertiertes AND.
Warum braucht man eine Bitbreite?
NAND ist NOT von AND; ohne feste Breite ist das Komplement einer Ganzzahl unendlich viele Einsen im Zweierkomplement. Breite w definiert den Bus: nach dem Invertieren bleiben nur die niedrigen w Bits.
Wie werden negative Operanden behandelt?
Negative sind gültige sichere Ganzzahlen; nur ihre niedrigen width Bits (Zweierkomplement-Kürzung in ein vorzeichenloses w-Bit-Feld) nehmen am AND und NAND teil.
Warum gilt NAND als universelles Gatter?
Weil sich jede logische Funktion allein aus NAND-Gattern aufbauen lässt: Hintereinandergeschaltet ergeben sie NOT, AND und OR. Deshalb behandeln Lehrbücher und Schaltungsbibliotheken NAND als Grundbaustein, und Laborübungen verlangen oft genau diesen Nachweis von Ihnen.
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/dev/bitwise-nand \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"a":12,"b":10,"width":8}'const res = await fetch("https://api.kit.forhosting.com/dev/bitwise-nand", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"a": 12,
"b": 10,
"width": 8
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/bitwise-nand",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"a": 12,
"b": 10,
"width": 8
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/bitwise-nand", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"a":12,"b":10,"width":8}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"a":12,"b":10,"width":8}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/bitwise-nand", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"a": 12,
"b": 10,
"width": 8
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.bitwise_nand",
"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
Fehlgeschlagene Validierung wird nicht berechnet; jeder erfolgreiche Aufruf kostet den veröffentlichten Basispreis $0.002.
Eingabevertrag, Antwortform und Fehlerverhalten
Width muss eine Ganzzahl von eins bis einschließlich dreiundfünfzig sein, damit die Einser-Maske im sicheren Ganzzahlbereich bleibt. Beispiel: a gleich zwölf, b gleich zehn und width gleich acht ergeben maskierte Werte zwölf und zehn, AND gleich acht und NAND gleich zweihundertsiebenundvierzig, weil binär 00001100 AND 00001010 gleich 00001000 ist und invertiert sowie auf acht Bit maskiert 11110111 ergibt. Senden Sie per POST einen JSON-Körper mit drei Pflicht-Ganzzahlfeldern: a und b als Operanden sowie width als Bitanzahl. Jedes von a und b kann als JSON-Zahl oder als numerische Zeichenkette im Dezimalsystem ankommen, oder mit Präfix 0x, 0b oder 0o für Hexadezimal, Binär oder Oktal. Werte müssen endliche sichere Ganzzahlen innerhalb plus oder minus Number.MAX_SAFE_INTEGER sein; Brüche, Infinity, NaN, leere Zeichenketten und fehlende Felder scheitern mit invalid_input unter Nennung des Feldes, und diese Fehler werden nicht berechnet. Optionale Aliase x, left oder first mappen auf a; y, right oder second auf b; und bits, bit_width, nbits oder w auf width. Bei Erfolg wiederholt der Körper a, b und width, liefert a_masked und b_masked als Niedrigbreiten-Scheiben, and_result als maskiertes AND und result als NAND-Wert. Er stellt außerdem a_binary, b_binary und result_binary mit Präfix 0b und Nullauffüllung bis width bereit, plus a_hex, b_hex und result_hex mit Präfix 0x, eine kurze Operationszeichenkette der Art zwölf NAND zehn bei acht Bit ergibt zweihundertsiebenundvierzig sowie eine Formel, die festhält, dass result die Negation von a und b maskiert auf die Breite ist.
Wo ein bitweiser NAND-Rechner echten Nutzen stiftet
Weil die Implementierung reines Parse-Tier-A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002 ohne Modell-Token und ohne ausgehendes Netz.
Integrationsbeispiele
CI-Fixtures für sprachunabhängige Bitoperationen
Erzeugen Sie erwartete NAND-Vektoren in Dezimal, Binär und Hex, damit Unit-Tests über Sprachen hinweg übereinstimmen, die bei 32-Bit-Bitbreite divergieren.
Technische Fragen
Was kostet der bitweise NAND-Rechner?
Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen vorausbezahltes KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.