CONVERT
Conversion de type de données
Aperçu
Contenu
Description
Ce bloc convertit une entrée de type entier ou réel double vers un autre type réel double ou entier. Ce bloc est particulièrement utile pour connecter un bloc qui accepte ou produit seulement le type de données entier avec un autre bloc qui produit ou accepte seulement le type de données double.
Il peut également être utilisé pour prendre la demi-partie inférieure de l'entrée par une
conversion dégradante telle que int16 vers int8. Pour ce type d'utilisation et si vous ne voulez
pas de conversion de type, vous pouvez également utiliser le bloc
EXTRACTBITS avec le paramètre
Bits to extract
placé à Lower half
.
Pour une conversion vers le haut d'un entier signé vers un autre entier signé, le signe est propagé.
Quand la sortie est un entier et qu'un dépassement de capacité se produit, le bloc donne trois formes de résultats :
Un résultat normal non saturé. Par exemple, si le type est int8 et le résultat 128, la valeur de sortie du bloc sera -128.
Un résultat saturé. Pour l'exemple précédent la valeur de sortie du bloc sera 127
Un message d'erreur prévenant l'utilisateur du dépassement de capacité.
L'utilisateur peut sélectionner l'une de ces trois formes en mettant le champ Do on Overflow à 0,1 ou 2.
Types de données
Le bloc supporte les types de données suivants :
Entrée : types entiers et type réel double de Scilab (paramètre Input Type).
Sortie : types entiers et type réel double de Scilab (paramètre Output Type).
Paramètres
Input Type (1|2: double, 3:int32, 4:int16, 5:int8, 6:uint32, 7:uint16, 8:uint8)
Indique le type de données en entrée, qui peut être décimal ou entier : code entier de 1 à 8.
Propriétés : Type 'vec' de taille 1.
Output Type (1|2: double, 3:int32, 4:int16, 5:int8, 6:uint32, 7:uint16, 8:uint8)
Fixe le type de données en sortie, qui peut être décimal ou entier : code entier de 1 à 8.
Propriétés : Type 'vec' de taille 1.
Do on Overflow (0:Nothing 1:Saturate, 2:Error)
Entre 0 et 2. Lors d'un dépassement de capacité, si le paramètre est égal à :
0 : le résultat est non saturé.
1 : le résultat saturé.
2 : la simulation affiche un message d'erreur.
Propriétés : Type 'vec' de taille 1.
Propriétés par défaut
always active: non
direct-feedthrough: oui
zero-crossing: non
mode: non
regular inputs:
- port 1 : size [-1,-2] / type 1
regular outputs:
- port 1 : size [-1,-2] / type 3
number/sizes of activation inputs: 0
number/sizes of activation outputs: 0
continuous-time state: non
discrete-time state: non
object discrete-time state: non
name of computational function: convert
Fonction d'interfaçage
SCI/modules/scicos_blocks/macros/IntegerOp/CONVERT.sci
Fonction de calcul
SCI/modules/scicos_blocks/src/c/convert.c
Exemple
Cet exemple montre la propagation du bit de signe pendant une conversion d'int8 à int16.
Voir aussi
- EXTRACTBITS — Extraction de bits
Report an issue | ||
<< BITSET | Palette Entier | DFLIPFLOP >> |