Vorzeichenkonvertierung

ByteToInt16(), WordToInt16(), ByteToInt32(), WordToInt32()

Diese Funktionen konvertieren den Übergabewert explizit in einen vorzeichenbehafteten Wert. Diese Funktion wird benötigt, wenn man beispielsweise einen nicht vorzeichenbehafteten Variablen- oder Rückgabewert Vorzeichenrichtig weiterbearbeiten möchte. Dies ist z.Bsp. der Fall, wenn eine Byte-Variable empfangen worden ist, die statt 0-255 den vorzeichenbehafteten Wertebereich von -127 bis +128 darstellt. Da der Datentyp Byte nicht vorzeichenbehaftet ist, wären Rechnungen und Darstellung damit ebenfalls nicht vorzeichenbehaftet.

Syntax

Beispiel:

const F_CPU=20000000
avr.device = atmega328p
avr.clock  = F_CPU
avr.stack = 64
 
uart.baud = 19200
uart.recv.enable
uart.send.enable
 
dim a as byte
dim b as word
 
a=0xff
b=0xffff
print str(a)                'Ausgabe: "255"
print str(b)                'Ausgabe: "65535"
print str(ByteToInt16(a))   'Ausgabe: "-1"
print str(WordToInt16(b))   'Ausgabe: "-1"