Basisumrechner
Schreiben Sie eine Zahl von einer Basis in eine andere um, von Basis 2 bis Basis 36: 1010 im Binärsystem ist 10 im Dezimalsystem. Große Werte bleiben bis zur letzten Stelle exakt, ein führendes Minus bleibt erhalten. 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
- Wert
- 1010
- Von Basis
- 2
- Zu Basis
- 10
- Ergebnis
- 10
Wandelt eine Ziffernfolge von einer Basis in eine andere zwischen Basis 2 und Basis 36 um, mithilfe von Ganzzahlen beliebiger Genauigkeit, und bewahrt ein optionales führendes Minuszeichen.
Was ein Basiswechsel eigentlich bedeutet
Eine Basis gibt an, wie viele verschiedene Ziffern ein Zahlensystem verwendet, bevor es auf eine neue Stelle übergeht. Das Dezimalsystem nutzt zehn, das Binärsystem zwei, das Hexadezimalsystem sechzehn und Basis 36 die zehn Ziffern plus alle sechsundzwanzig Buchstaben. Die Menge selbst ändert sich nie, nur ihre Schreibweise. Deshalb sind 1010 binär und 10 dezimal dieselbe Zahl. Der Umrechner liest Ihre Ziffern in der Ausgangsbasis, ermittelt die ganze Zahl dahinter und schreibt sie in der Zielbasis neu. Ob binär nach hexadezimal, hexadezimal nach dezimal oder dezimal nach Basis 36: Der Ablauf ist immer derselbe.
Fehler, die dieser Umrechner vermeidet
Viele gängige Werkzeuge verlieren unbemerkt an Genauigkeit, sobald eine Zahl 2^53 übersteigt, und die letzten Stellen einer langen Kennung oder Prüfsumme stimmen dann nicht mehr. Hier wird jeder Wert als exakte ganze Zahl mit bis zu 200 Zeichen behandelt, nichts wird gerundet. Eine Ziffer, die es in der Ausgangsbasis nicht gibt, etwa eine 2 im Binärsystem oder ein G im Hexadezimalsystem, wird gemeldet statt übergangen. Präfixe wie 0x werden nicht akzeptiert, damit immer die von Ihnen gewählte Basis gilt. Unterstützt werden nur ganze Zahlen: Ein Dezimalkomma oder ein Bruch lässt sich nicht umrechnen.
Bei jeder Umrechnung dasselbe exakte Ergebnis
Da die Arithmetik auf BigInt läuft, gibt es keinen stillen Genauigkeitsverlust, wie ihn parseInt und Number.toString(radix) nahe und jenseits von 2^53 erleiden können, was dies für große Hashes, Bezeichner, Farbwerte oder Bitmasken sicher macht. Häufige Anwendungen umfassen Binär-zu-Hex- und Hex-zu-Dezimal-Umrechnungen, das Codieren von IDs in ein kompaktes Basis-36-Alphabet und das Betrachten, wie eine Zahl über verschiedene Basen hinweg aussieht.
Anwendungsfälle
Zahleninspektion für Entwickler
Rechnen Sie zwischen Binär, Oktal, Dezimal und Hexadezimal um, während Sie Bitmasken, Flags oder Farbwerte debuggen.
Kompakte Basis-36-IDs
Codieren Sie große dezimale Bezeichner in eine kürzere Basis-36-Zeichenkette oder decodieren Sie sie mit großen Ganzzahlen exakt zurück.
Häufige Fragen
Kann es sehr große Zahlen verarbeiten?
Ja. Werte werden als BigInt eingelesen, sodass die Umrechnung ohne Gleitkommaverlust exakt ist, selbst jenseits von 2^53.
Sind negative Zahlen und Buchstaben erlaubt?
Ein führendes Minus wird bewahrt, die Buchstaben A-Z dienen als Ziffern über 9, und die Eingabe wird in Großbuchstaben umgewandelt, sodass 'ff' gleich 'FF' ist.
Wie rechne ich binär in hexadezimal um?
Wählen Sie 2 als Ausgangsbasis und 16 als Zielbasis und geben Sie die Binärziffern ein. Dieselben Schritte gelten für jedes Basenpaar zwischen 2 und 36, etwa von hexadezimal nach dezimal.
Kann ich 0x oder 0b vor die Zahl schreiben?
Nein. Solche Präfixe werden abgelehnt, weil die Basis separat gewählt und nicht aus der Zahl erraten wird. Entfernen Sie 0x oder 0b und wählen Sie Basis 16 oder Basis 2.
Welche Ziffern verwendet Basis 36?
Die Ziffern 0 bis 9 und danach die Buchstaben A bis Z, daher endet Basis 16 bei F und Basis 36 nutzt das ganze Alphabet. Groß- und Kleinbuchstaben zählen als dieselbe Ziffer.
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/number-base \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"FF","from_base":16,"to_base":10}'const res = await fetch("https://api.kit.forhosting.com/dev/number-base", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "FF",
"from_base": 16,
"to_base": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/number-base",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "FF",
"from_base": 16,
"to_base": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/number-base", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"FF","from_base":16,"to_base":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"FF","from_base":16,"to_base":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/number-base", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Beispiel-Anfrage
{
"value": "FF",
"from_base": 16,
"to_base": 10
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.number_base",
"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.
Limits
max_value_chars | 200 |
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
Basisumrechnung mit großen Ganzzahlen
Da der Wert als BigInt statt als JavaScript-Zahl gehalten wird, sind Umrechnungen für beliebig große Größenordnungen ohne Gleitkommaverlust exakt. dev.number_base liest value als Ziffernfolge in from_base ein, sammelt sie zu einem BigInt und codiert diese Ganzzahl anschließend in to_base neu. Sowohl from_base als auch to_base sind ganze Zahlen im Bereich 2 bis 36; Ziffern verwenden 0-9 gefolgt von A-Z, sodass Basis 16 die Zeichen 0-F und Basis 36 das gesamte Alphabet nutzt. Die Eingabe wird vor dem Einlesen in Großbuchstaben umgewandelt, sodass hexadezimal 'ff' und 'FF' gleichwertig sind, und jedes Zeichen wird darauf geprüft, eine gültige Ziffer strikt unterhalb von from_base zu sein — alles andere liefert einen typisierten invalid_input-Fehler. Die Antwort liefert das ursprüngliche value, from_base, to_base und die codierte Ergebniszeichenkette zurück, sodass das Binärbeispiel '1010' von Basis 2 nach Basis 10 '10' ergibt.
Akzeptierte Eingabe und strenge Regeln
value muss eine nicht leere Zeichenkette von höchstens 200 Zeichen sein, und das codierte Ergebnis ist ebenso auf 200 Zeichen begrenzt. Ein einzelnes führendes Minuszeichen ist erlaubt und wird über die Hin-und-Rück-Umrechnung bewahrt, sodass negative Zahlen korrekt umgerechnet werden, doch Basis-Präfixe werden ausdrücklich abgelehnt: jeder Wert, der mit 0x, 0X, 0b oder 0B beginnt, liefert invalid_input, weil die Basis durch from_base gegeben und nicht aus einem Präfix abgeleitet wird. Es gibt keine Unterstützung für Brüche oder Dezimalpunkte — nur ganze Zahlen. from_base und to_base müssen beide ganze Zahlen innerhalb von 2 bis 36 sein; ein Wert außerhalb dieses Fensters, eine für die Ausgangsbasis unzulässige Ziffer, eine leere oder zu lange Zeichenkette oder ein bloßes Minuszeichen lösen alle einen typisierten invalid_input-Fehler mit einer Meldung aus, die den Fehler benennt, sodass Aufrufer ihn sauber abfangen und darstellen können.
Integrationsbeispiele
Basisumrechnung im Stapel
Rufen Sie die API über eine Wertespalte auf, um einen ganzen Datensatz in einem Auftrag zwischen zwei Basen umzurechnen.
Technische Fragen
Welche Basen werden unterstützt?
Jede ganzzahlige Basis von 2 bis 36 für sowohl from_base als auch to_base, mit den Ziffern 0-9 gefolgt von A-Z.
Kann ich 0x- oder 0b-Präfixe verwenden?
Nein. Präfixierte Werte werden mit invalid_input abgelehnt; die Basis stammt aus from_base, nicht aus einem Präfix.
Welche Grenzen und Kosten gibt es?
value und Ergebnis sind jeweils auf 200 Zeichen begrenzt; das Browser-Widget ist kostenlos und die API berechnet nur erfolgreiche Aufgaben ab $0.002.