Interfejs KIDE->Prawa lista->Bloki funkcyjne->Funkcje matematyczne->Mul32v2

Mul32v2 (Mnożenie liczb 32-bitowych)

Wejścia:

Wyjście:

Algorytm:

Funkcja wykonuje działanie mnożenia na dwóch liczbach 32 bitowych w formacie int32 (od −2 147 483 648 — +2 147 483 647). Znak liczby umieszczony jest w najstarszym bicie liczby. Otrzymany wynik jest w postaci 32 bitowej zapisany na Out_Lo i Out_Hi. Najbardziej znaczący bit Out_Hi odpowiada za znak liczby. Podczas wykonywania operacji mnożenia należy pamiętać o ograniczeniu wyjścia 32 bitowego – jeśli wartość wyjściowa przekroczy próg 2 147 483 648‬ lub −2 147 483 648, w obu przypadkach wyjście Out_Ovf zostanie ustawione w stan wysoki, w przy przekroczeniu wartości, na najstarszy bit może zostać przeniesiona wartość 1, co może spowodować zmianę znaku liczby,

Przykład:

In1_Lo In1_Hi In1 (32 bit) In2_Lo In2_Hi In2 (32 bit) Out_Lo Out_Hi Out (32 bit) Out_Ovf
8 0 8 8 0 8 64 0 8 0
8 0 8 10000 0 1000 14464 1 80000 0
8000 0 8000 10000 0 10000 -19456 1220 80 000 000 0
-15536 0 50000 -15536 0 50000 -1792 -27390 2 500 000 000 1

powrót