LabVIEW NXG - Tipos de datos simples y coerción de tipos

Este es el tercer artículo de la serie LabVIEW NXG en el que observamos tipos de datos simples y conversiones simples entre ellos.



El sistema de tipo LabVIEW es muy similar a los lenguajes de programación "clásicos". En este artículo consideraremos los tipos básicos: numéricos, booleanos y cadenas (aunque formalmente las cadenas no pertenecen a tipos escalares simples).


La forma más fácil de entender el sistema de tipos es hacer una pequeña herramienta con controles e indicadores de diferentes tipos:



y conectarlos en el diagrama de esta manera:



, " 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". ?


:



Esto es 0x3E000000. Aquí sucede lo siguiente: cuatro bytes de un número de punto flotante se reinterpretan como un entero de cuatro bytes. Intencionalmente tomé el número 0.125, porque si observa la representación de 0.125 de acuerdo con IEEE754, verá que solo hay cinco bits del conjunto de mantisa; esto nos da el valor 3E en el byte alto.


Después de tres artículos, debemos trabajar con bastante confianza con tres tipos de datos:



Si tiene alguna pregunta sobre el material presentado, pregunte en los comentarios y en el próximo artículo consideraremos las matrices.


All Articles