GetFloatBit('Expression','BitNo')

Argumente

'Expression'

Beliebige Zahl

'BitNo'

Diese Zahl, 0…15, bzw. 0…31 gibt die Position des gewünschten Digitalsignals in einem 16-Bit- bzw. 32-Bit-Block im Datenstrom an, bezogen auf die zugehörige Offset-Adresse. Erhöhung der Bit-Nr. um 1 bis 15 (31), dann Erhöhung der Adresse um 2 (4).

Beschreibung

Diese Funktion interpretiert 'Expression' als Bitmaske eines Floatwertes und liefert als Ergebnis den booleschen Wert des Bits 'BitNumber' von 'Expression'. Gültige Bitnummern-Reihenfolge: 0 (LSB) bis 31 (MSB).

Diese Funktion wurde speziell für den Fall entwickelt, wenn 32 Bits für die Übertragung/Aufzeichnung als Float-Daten gepackt werden. Die Funktion GetBitFloat wertet lediglich die Valenz des spezifizierten Bits 'BitNo' aus, ungeachtet dessen, ob es Teil der Mantisse oder des Exponenten ist. Im Gegensatz zur Funktion GetBit werden die Werte nicht gerundet.

Beispiel

Ein in 'Expression' eingegebener Wert wird in das Gleitkommaformat nach IEEE 754 umgewandelt und die Stellen, die dafür auf TRUE gesetzt sind, abgerufen.

Lösung

Gleitkommazahlen nach dem IEEE 754 Format können allgemein wie folgt geschrieben werden: (Vorzeichen)*Mantisse*10^Exponent

Die Zahl 0,15625 lautet als Gleitkommazahl nach IEEE 754 wie folgt:

Vorzeichen (1 bit)

Exponent (8 bit)

Mantisse (23 bit)

0

0111 1100

0100 0000 0000 0000 0000 000

Dabei ist das LSB (Least Significant Bit) an äußerster rechter Stelle.

Die nachfolgende Abbildung zeigt den Abruf der Valenz ausgewählter Bits des Floatwertes von 0,15625.