DEC

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen finden sich unter DEC (Begriffsklärung).
DEC
Format: DEC(<Hexadezimalzahl>)
Parameter
<Hexadezimalzahl>: Zeichenkettenausdruck mit Hexdezimalzahl im Bereich von $0000 bis $FFFF
Einordnung
Typ: numerische Funktion
Kontext: Konvertierung
Aufgabe: Umwandlung einer Hexadezimalzahl in eine Dezimalzahl
Abkürzung: -
Verwandte Befehle
HEX$

Anmerkung: Dieser Artikel beschreibt die BASIC-Funktion DEC ab Commodore BASIC V3.5 oder höher.

Die BASIC-Funktion DEC() wandelt den Wert einer Hexadezimalzahl in eine Dezimalzahl. Die umzuwandelne Hexadezimalzahl muss sich in einer Zeichenkette (String) befinden. Das Gegenstück bildet die BASIC-Funktion HEX$().

Der Hexadezimal-String darf die Ziffern 0 bis 9, die Buchstaben A bis F (PETSCII-Code 65 bis 70, entspricht der dezimalen Wertigkeit 10 bis 15) sowie beliebig viele Leerzeichen enthalten. Maximal 4 signifikante Stellen sind zulässig, der erlaubte Wertebereich geht somit von $0000 bis $FFFF, entsprechend dezimal 0 bis 65535. Entspricht der übergebene String nicht diesen Vorgaben, wird ein ?ILLEGAL QUANTITY ERROR ausgegeben. Ein Nullstring (leere Zeichenkette) oder ein String nur aus Leerzeichen wird als 0 interpretiert.

Ist das Argument keine Zeichenkette, so erscheint die BASIC-Fehlermeldung ?TYPE MISMATCH ERROR. Fehlt das Argument oder sind zu viele angegeben, erscheint ?SYNTAX ERROR.

Beispiele[Bearbeiten]

PRINT DEC("ABCD")

Gibt 43981 aus.

10 D = DEC("6 4")
20 PRINT D

Auf dem Bildschirm wird 100 ausgegeben.