Syntax
dec = C2D( string[, n] ) [;]
Beschreibung
Konvertiert die binäre Darstellung einer Zeichenkette (optional mit der
Länge n) in eine Zahl
Aufrufparameter
string
Zeichenkette, die konvertiert werden soll.
n
Anzahl der Zeichen des Eingabeparametrs string
die konvertiert werden sollen (von rechts nach links).
Standardwerte
string
Nullzeichenkette (null string)
n
0 - wenn keine Eingabe (
null string) für
string gemacht wurde.
Length( string ) sonst (siehe
Bemerkungen).
Rückgabewerte
dec
Eine REXX-Zahl (Zeichendarstellung einer Zahl mit oder ohne Vorzeichen).
Bemerkungen
Die Zeichenkette string wird von rechts nach
links auf die Länge n abgeschnitten bzw.
mit Nullen aufgefüllt. Wenn n beim Aufruf
weggelassen wurde, so wird die ganze Zeichenkette verarbeitet. Bei Zeichenketten
länger als 3 Zeichen und n größer als 3 muss die Einstellung
NUMERIC DIGITS d erhöht werden.
Standardwert für d ist 9.
Wenn die Länge n nicht angegeben wird,
so wird die zu konvertierende Zeichenkette ohne das Vorzeichen, andernfalls
mit dem Vorzeichen bearbeitet. Dabei steht das erste Bit links (auf die Länge
n abgeschnitten bzw. mit Nullen aufgefüllten
Zeichenkette string) für das Vorzeichen:
0 bedeutet eine positive, 1
bedeutet eine negative Zahl. Z. B. (n=2):
"FF01"x = "1111 1111 0000 0001"b ist eine negative Zahl,
"7F01"x = "0111 1111 0000 0001"b ist eine positive Zahl.
Beispiel 1
Numeric Digits 15
number = C2D( "ABCDEF" )
Say number
Ergebnis 1
284596389190
Umgesetzt wird die ganze Zeichenkette.
Beispiel 2
Numeric Digits 15
number = C2D( "12ABCDEF", 5 )
Say number
Ergebnis 2
284596389190
Umgesetzt werden nur die ersten 5 Bytes von rechts ("ABCDEF") der
Zeichenkette.
Beispiel 3
Numeric Digits 15
number = C2D( "ABCDEF", 1 )
Say number
Ergebnis 3
70
Umgesetzt wird nur das erste Byte von rechts ("F" = "46"x) der Zeichenkette.
Beispiel 4
number = C2D( "FF01"x )
Say number
Ergebnis 4
65281
Umgesetzt wird die ganze Zeichenkette.
Beispiel 5
number = C2D( "FF01"x, 1 )
Say number
Ergebnis 5
1
Umgesetzt wird nur das erste Byte von rechts ("01"x) der Zeichenkette.
Beispiel 6
number = C2D( "FF01"x, 2 )
Say number
Ergebnis 6
-255
Umgesetzt wird die ganze Zeichenkette, aber der 1. Bit (1) wird als
negativer Vorzeichen (minus) interpretiert.
Beispiel 7
number = C2D( "FF01"x, 3 )
Say number
Ergebnis 7
65281
Die zu umsetzende Kette wird mit Nullen auf die Länge 3 ("00FF01"x
aufgefüllt und somit mit dem positiven Vorzeichen (plus) - der 1. Bit ist 0 -
umgewandelt.