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.
Tipp |
|
|---|---|
|
Gleitkommazahlen nach dem IEEE 754 Format werden in der dargestellten Weise geschrieben. Dabei sind bei den einzelnen Komponenten folgende Punkte zu beachten: Vorzeichen: 0 steht für positiv; 1 für negativ Exponent: Da bei der Umrechnung in eine Gleitkommazahl der Exponentenwert um 127 verschoben wird, müssen von dem hier dargestellten Exponenten bei der Umrechnung in eine Dezimalzahl wieder 127 subtrahiert werden. Mantisse: Da die Mantisse standardmäßig eine 1 vor dem Komma hat, wird diese Stelle nicht mehr dargestellt. Alle Mantissenstellen sind deshalb Nachkommastellen und müssen bei der Umrechnung mit negativen Exponenten zur Basis 2 berücksichtigt werden. |
|
Die nachfolgende Abbildung zeigt den Abruf der Valenz ausgewählter Bits des Floatwertes von 0,15625.
