LabVIEW NXG - Types de données simples et coercition de type

Il s'agit du troisième article de la série LabVIEW NXG dans lequel nous examinons les types de données simples et les conversions simples entre eux.



Le système de type LabVIEW est très similaire aux langages de programmation "classiques". Dans cet article, nous considérerons les types de base - numériques, booléens et chaînes (bien que les chaînes n'appartiennent pas formellement aux types scalaires simples).


La façon la plus simple de comprendre le système de type est de créer un petit outil avec des commandes et des indicateurs de différents types:



et connectez-les sur le diagramme comme ceci:



, " In" " Out". LabVIEW, , ( ).


— , 8, 16, 32 64 , ( 4 8 ), — . :



:



( , ). , ? :



"" ( Coercion Dots), , .


SGL DBL , , U8 I32, , DBL->SGL, DBL->I32 I32->U8 , :



"" LabVIEW Coercion Dots , :



, ? , Data Types->Numeric->Conversion:



:



Coercion Dot, .



, , , DBL, :



, , ( LabVIEW Compound Arithmetic):



LabVIEW . , :


double res;
res = 5/3;
Console.WriteLine(res);

"1".


LabVIEW , 1,66 (1,66666666666667 ):



, LabVIEW , , , C# ( "" ).


, , :



, . , , , :



C# ( , int, , :


        static void Main(string[] args)
        {
        byte x_U8 = 200, y_U8 = 200, res_U8;

        res_U8 = x_U8 + y_U8;

            Console.WriteLine(res_U8);
        }

:


        res_U8 = (byte)(x_U8 + y_U8);

, LabVIEW, , LabVIEW , , ( ):



, , :



LabVIEW ( "" ) — .


LabVIEW C# Microsoft, :


class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(5.0/0.0);
    }
}

"8". , , "", "Infinity", . , .NET Core — , ( , , " " Windows 10 2004). , , , , , , , .


, , LabVIEW:



— . :



, NaN (Not a Number):



NaN Not a Number? :



— .


.


# :


static void Main(string[] args)
{
    Console.WriteLine(5/0);
}

...


static void Main(string[] args)
{
    int zero = 0; 
    Console.WriteLine(5/zero);
}

… System.DivideByZeroException, LabVIEW — , .




() :



Conversions :



:



, , :



:



, , :


    static void Main(string[] args)
    {
    string hello = "Hello, ";
    string habr = "Habr!";

        Console.WriteLine(hello + habr);
    }

LabVIEW " " , :




. , Boolean to Integer :



LabVIEW. False:



, :



Type Cast


"Type Cast", . :



"Type", . "by flattening it and unflattening". "/".


, SGL I32:



output? "1040187392". ?


:



Il s'agit de 0x3E000000. Voici ce qui se produit - quatre octets d'un nombre à virgule flottante sont réinterprétés comme un entier de quatre octets. J'ai intentionnellement pris le nombre 0,125, car si vous regardez la représentation de 0,125 selon IEEE754, vous verrez qu'il n'y a que cinq bits de l'ensemble de mantisses - cela nous donne la valeur 3E dans l'octet de poids fort.


Après trois articles, nous devons travailler en toute confiance avec trois types de données:



Si vous avez des questions sur le matériel présenté, posez-le dans les commentaires, et dans le prochain article, nous considérerons les tableaux.


All Articles