Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Français


CONVERT

Conversion de type de données

Aperçu

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 :

  1. 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.

  2. Un résultat saturé. Pour l'exemple précédent la valeur de sortie du bloc sera 127

  3. 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

Report an issue
<< BITSET Palette Entier DFLIPFLOP >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Mar 27 10:12:41 GMT 2023