Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - Русский - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Xcos > palettes > Palette Entier > CONVERT

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

Boîte de dialogue

  • Input Type (1: double, 3:int32, 4:int16, 5:int8, ...)

    Indique le type de donnée en entrée qui peut être double ou entier. Entre 1 et 8.

    Propriétés : Type 'vec' de taille 1.

  • Output Type (1: double, 3:int32, 4:int16, 5:int8, ...)

    Indique le type de donnée en sortie qui peut être double ou entier : entre 1 et 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

Exemple

Cet exemple montre la propagation du bit de signe pendant une conversion d'int8 à int16.

Fonction d'interfaçage

  • SCI/modules/scicos_blocks/macros/IntegerOp/CONVERT.sci

Fonction de calcul

  • SCI/modules/scicos_blocks/src/c/convert.c

Voir aussi

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:38 CEST 2014