UTOI – Konverze celého čísla bez znaménka na celé číslo se znaménkem
Symbol blokuPotřebná licence: STANDARD
Popis funkce
Blok chápe vstupní (kladné) číslo jako celé číslo se znaménkem v reprezentaci
dvojkový doplněk, tj. běžná reprezentace v procesorech. Například číslo -1 je
v 8-bitové reprezentaci je stejné s číslem 255 a v 16-bitové reprezentaci s
číslem 65535. Kolika bitová reprezentace se předpokládá určuje parametr
bits.
Hlavní použití tohoto bloku je situace, kdy hodnota z ovladače obsahuje více signálů, které se získávají vymaskováním (typicky blokem INTSM nebo BITOP). Výstupem tohoto vymaskování je vždy kladné číslo, ale pokud je význam signálu z ovladače číslo se znaménkem, použije s k získání správné hodnoty tento blok.
Protože procesory vyskytující se na trhu ukládají vícebajtová čísla různě (obvyklejší je tzv. little-endian, kde na nižší adrese je výynamnější bajt, ale vyskytují se i procesory s tzv. big-endian formátem, kde je to maopak), blok umožňuje i prohodit pořadí bajtů, pokud to není ošetřeno v ovladači. K tomu slouží parametr SWAP.
POZOR!!! Prohození pořadí bajtů (tj. nastavit SWAP=on) řeší problém s rozdílným pořadí bajtů v procesoru obvykle jen pro případ bits=16 nebo bits=32.
Vstup
u | Vstupní signál bez znaménka -9.22337E+18 9.22337E+18 | Large (I64) |
Parametry
bits | Počet platných bitů ve vstupním signálu 2 64 16 | Long (I32) |
SWAP | Otočení pořadí bajtů vstupu | Bool |
Výstup
i | Zkonvertovaný (se znaménkem) vstupní signál | Large (I64) |
[Předchozí] [Na začátek] [Výše]
2023 © REX Controls s.r.o., www.rexygen.com