clemens

Dezimalzahl in Hexadezimalzahl umwandeln?

Wie wandele ich in einem Batch Skript eine Dezimalzahl in eine Hexadezimalzahl um?

Ich habe vor, ein Batch Skript zu schreiben, welches einen den Eingaben entsprechenden Registrierungsschlüssel ausgibt, der dann entweder automatisiert oder manuell eingebunden wird. Das Einbinden der Registrierungsdatei wollte ich der Einfachheit halber mit "regedit.exe /s regdatei.reg" durchführen. Jedoch müssen die Werte in der Registrierungsdatei in hexadezimalen Werten angegeben werden. Die Eingabe im Batch Skript sollte aber natürlich im Dezimalsystem erfolgen.

Wie kann ich nun die Eingabe in eine Hexadezimalzahl umwandeln? Geht das auch mit dem SET befehl? Die Umwandlung von hex nach dez kann SET ja (mit SET /A 0x...) aber andersrum steh ich irgendwie aufm Schlauch...

Weiß jemand Rat?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 20556

Url: https://administrator.de/forum/dezimalzahl-in-hexadezimalzahl-umwandeln-20556.html

Ausgedruckt am: 17.05.2025 um 23:05 Uhr

FaBMiN
FaBMiN 29.11.2005 um 08:51:51 Uhr
Goto Top
http://de.selfhtml.org/helferlein/dezhex.htm


Umwandlung von Dezimalzahlen in Hexadezimalzahlen

Eine Möglichkeit, eine Zahl des Dezimalsystems in eine Zahl des Hexadezimalsystems umzurechnen, ist die Betrachtung der Divisionsreste, die entstehen, wenn die Zahl durch die Basis 16 geteilt wird.

Im Beispiel der 127810 sähe das so aus:

1278 : 16 = 79 Rest 14 (= E)
79 : 16 = 4 Rest 15 (= F)
4 : 16 = 0 Rest 4

Von unten nach oben gelesen ergibt sich die Hexadezimalzahl 4FE..
[Bearbeiten]

Umwandlung von Hexadezimalzahlen in Dezimalzahlen

Um eine Hexadezimalzahl in eine Dezimalzahl umzuwandeln, muss man die einzelnen Ziffern mit der jeweiligen Potenz der Basis multiplizieren. Der Exponent der Basis entspricht der Stelle der Ziffer, wobei der Zahl vor dem Komma eine Null zugeordnet wird. Dazu muss man allerdings noch die Ziffern A, B, C, D, E, F in die entsprechenden Dezimalzahlen 10, 11, 12, 13, 14, 15 umwandeln.

Beispiel für 4FE16:

4 \cdot 16^2 + 15 \cdot 16^1 + 14 \cdot 16^0 = 1278_{(10)}

Für das Zählen und Rechnen im Hexadezimalsystem gibt es eine Eselsbrücke: A = 10 und B = 11 kann sich jeder merken. C wie zwölf, D wie dreizehn, e für vierzehn kommt vor f wie fünfzehn.
clemens
clemens 29.11.2005 um 21:38:49 Uhr
Goto Top
Mh ok danke schon mal, aber hatte eigentlich gehofft, es gäbe eine Möglichkeit über den SET Befehl (oder einen anderen). Dann werd ich das mal versuchen, zu implementieren face-smile

Gruß, Clemens
Biber
Biber 30.11.2005 um 15:53:59 Uhr
Goto Top
Moin, Clemens,
mach Dir nicht so viel Aufwand - es gibt Tausende von Hex2Dec.exe-et-vice-versa--Utilities.
Eins davon findest Du auf www.sysinternals.com.

Mit dem Set-Befehl geht es IMHO nicht von Dezimal nach Hexadezimal.
HTH Biber
clemens
clemens 30.11.2005 um 16:27:58 Uhr
Goto Top
hallo,
die lösung mit externen programmen wäre zwar einfach zu implementieren, aber ich will meine Batch Datei an viele von unseren Mitgliedern (arbeite in einem Verein, der seinen Mitgliedern einen Internetanschluss bereitstellt) ausliefern. Und da einige von den Mitgliedern ziemliche Daus sind, möchte ich nicht, dass sie mit mehreren Dateien hantieren müssen, sondern das die funktion der batch datei auf jeden fall gewährleistet ist.

danke für eure mühen,

gruß clemens