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 10 MonatenZuletzt aktiv
- 12Antworten
- 1636Ansichten
-
4
Folge bereits
