Bitbedarf für Werte berechnen – minimale Binärbreite
Finden Sie die kleinste Binärbreite für Ihre Werte: 1000 verschiedene Zustände brauchen 10 Bit, die 1024 Muster bieten. Geben Sie die Anzahl der Zustände oder den größten zu speichernden Wert ein und sehen Sie die freie Kapazität, bevor Sie eine Registerbreite wählen. 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
- Verschiedene Werte
- 1.000
- Eingabeart
- distinct_values
- Bits
- 10
- Darstellbare Werte
- 1.024
- Maximal darstellbarer Wert
- 1.023
Dieser Rechner ermittelt die kleinste Binärbreite für eine vorgegebene Anzahl unterschiedlicher Zustände oder alle nicht negativen Ganzzahlen bis zu einem Höchstwert. Zweierpotenzen, Grenzwerte und null werden korrekt behandelt. Ausgegeben werden die benötigten Bits und der darstellbare Bereich. Nutzen Sie das Ergebnis für Register, codierte Felder, digitale Schnittstellen und kompakte Zahlenformate.
Zustände zählen oder den Höchstwert festlegen
Klären Sie zuerst, ob Ihre Vorgabe eine Anzahl von Möglichkeiten oder der höchste Zahlencode ist. Ein Wahlschalter mit 12 Stellungen hat 12 verschiedene Werte, auch wenn seine Beschriftungen keine Zahlen sind. Ein Zähler für Messwerte von 0 bis 1000 hat dagegen den Höchstwert 1000 und damit 1001 mögliche ganze Zahlen, weil die Null mitzählt. Eine Gruppe aus b Bits bietet 2 hoch b verschiedene Muster, und die kleinste Breite ist das kleinste b, das genug Muster liefert. Für 1000 Zustände sind das 10 Bit mit 1024 Mustern.
Grenzen, die Null und typische Fehler
Am häufigsten wird der Höchstwert wie eine Anzahl behandelt. Für 8 Zustände genügen 3 Bit, für 9 sind es schon 4 mit 16 Mustern. Ebenso passt ein Höchstwert von 255 in 8 Bit, während 256 bereits 9 braucht. Das Ergebnis ist das mathematische Minimum: Reale Systeme bieten oft feste Breiten wie 8, 16, 32 oder 64 Bit, auf die Sie aufrunden. Vorzeichenbits, Paritätsbits, Fehlerkorrektur und reservierte Codes sind nicht enthalten und kommen gegebenenfalls hinzu.
Wählen Sie die passende Eingabe
Entscheiden Sie zwischen der Anzahl möglicher Zustände und dem höchsten Zahlencode. Geben Sie genau ein Feld an. Nur nicht negative sichere Ganzzahlen sind zulässig; so werden Brüche, Rundungen und die Verwechslung von Höchstwert und Anzahl vermieden.
So entsteht die Mindestbreite
Ein Feld mit b Bits bietet 2 hoch b Muster. Gesucht wird das kleinste b mit ausreichender Kapazität; exaktes Verdoppeln vermeidet Logarithmusfehler an Zweierpotenzen. 8 Werte benötigen 3 Bits, 9 Werte benötigen 4 und bieten 16 Muster.
Beim Höchstwert zählt null mit: 255 passt in 8 Bits, 256 benötigt 9. Ein einzelner abstrakter Zustand trägt null Informationsbits; die Ganzzahl null erhält konventionell 1 Bit.
Übertragen Sie das Ergebnis
Betrachten Sie bits als mathematisches Minimum und prüfen Sie verfügbare Breiten. Vorausgesetzt werden vorzeichenlose, lückenlose Codes ab null. Planen Sie Vorzeichen, Sentinelwerte, Parität, Fehlerkorrektur, Ausrichtung und Flags zusätzlich ein.
Das Ergebnis ist eine Untergrenze, kein vollständiges Layout.
Anwendungsfälle
Digitalen Wahlschalter dimensionieren
Bestimmen Sie die kleinste Breite für eindeutige Betriebsartcodes.
Sensorbereich prüfen
Bestätigen Sie die Bitzahl von null bis zum dokumentierten Maximum.
Kompakte Kennungen planen
Schätzen Sie die Breite vor der Wahl eines byteweisen Speichertyps.
Häufige Fragen
Welche Formel gilt?
Die Aufrundung des Logarithmus zur Basis 2; exaktes Verdoppeln vermeidet Rundungsfehler.
Warum wird eins addiert?
Null gehört dazu: Von null bis M gibt es M plus eins Ganzzahlen.
Warum benötigt ein Wert null Bits?
Ein einziger Zustand erfordert keine Auswahl, auch wenn ein Format Speicher reserviert.
Ist ein Vorzeichenbit enthalten?
Nein. Der Höchstwertmodus behandelt nicht negative, vorzeichenlose Zahlen.
Darf ich beide Felder ausfüllen?
Nein. Geben Sie genau eines an, damit die Bedeutung eindeutig bleibt.
Warum wird beim Höchstwert eins addiert?
Weil die Null mitzählt. Ein Zähler für Werte von 0 bis 1000 muss 1001 verschiedene ganze Zahlen fassen, nicht 1000. Wer den Höchstwert wie eine Anzahl behandelt, macht den klassischen Fehler um eins.
Warum braucht ein einziger Zustand null Bits?
Ein einzelner abstrakter Zustand trägt keine Information, es gibt nichts zu unterscheiden. Der ganzzahlige Höchstwert null wird dagegen mit 1 Bit angegeben, damit ein gespeicherter Binärwert trotzdem eine physische Breite hat.
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/bits-for-values \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"distinct_values":1000}'const res = await fetch("https://api.kit.forhosting.com/elec/bits-for-values", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"distinct_values": 1000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/elec/bits-for-values",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"distinct_values": 1000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/elec/bits-for-values", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"distinct_values":1000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"distinct_values":1000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/elec/bits-for-values", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"distinct_values": 1000
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "elec.bits_for_values",
"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
Wählen Sie die passende Eingabe
Verwenden Sie distinct_values für Zustände, Kategorien, Symbole oder Betriebsarten mit eindeutigen Codes. Verwenden Sie max_value, wenn jede Ganzzahl von null bis zur Grenze passen muss. 0 bis 1000 umfasst 1001 Werte.
Übertragen Sie das Ergebnis
Register, Protokolle und Datenbanken bieten oft 8, 16, 32 oder 64 Bits. representable_values und maximum_representable_value zeigen die Reserve. Es arbeitet ohne Netzwerk; API-Aufrufe kosten $0.002.
Technische Fragen
Was kostet die API?
Der Grundpreis beträgt $0.002 je Anfrage; im Browser ist die Berechnung gratis.