Funktion zur Umrechnung von Dezimal nach Hexadezimal?
Huhu,
wurde im Handbuch nicht fündig - gibt's eine Funktion, mittels der ich dezimale Zahlen nach hexadezimal umrechnen kann?
lg, Torsten
12 Antworten
-
Du brauchst dazu ein Zahlenfeld und eine Berechnung, in der Berechnung folgenden Code Eintragen
let AUS := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"];
var DEZ := Zahl;
var BCD := "";
var POS := 0;
var WER := 1;
while DEZ > 0 or WER > 0 do
WER := floor(DEZ / 16);
POS := DEZ - WER * 16;
BCD := item(AUS, POS) + BCD;
DEZ := WER
end
;
BCD -
Hallo Bernd,
vielen Dank, klappt einwandfrei!!
lg, Torsten
-
Ich hatte in einem meiner Projekte die Funktion auch verwendet und war jetzt seit Stunden dran rauszufinden, warum die Funktion irgenwie nicht mehr funktioniert (Es funktionierte doch sonst problemlos).
Jedenfalls sollte man der Funktion keine Hexadezimalwerte in Kleinbuchstaben mitgeben.
Ich hab das mal korrigiert:
function hex2dec(hex : text) do let hex := upper(hex); let hexarray := split(hex, ""); let hexarrayReversed := for i in range(length(hex) - 1, -1) do item(hexarray, i) end; let hexarrayNumber := for i in hexarrayReversed do switch i do case "A": "10" case "B": "11" case "C": "12" case "D": "13" case "E": "14" case "F": "15" default: i end end; let endArray := for i in range(0, length(hex)) do number(item(hexarrayNumber, i)) * pow(16, i) end; sum(endArray) end;
Content aside
-
1
„Gefällt mir“ Klicks
- vor 4 TagenZuletzt aktiv
- 12Antworten
- 1618Ansichten
-
4
Folge bereits