LabVIEW NXG - Einfache Datentypen und Typenzwang

Dies ist der dritte Artikel in der LabVIEW NXG-Reihe, in dem wir uns mit einfachen Datentypen und einfachen Konvertierungen zwischen ihnen befassen.



Das LabVIEW-Typsystem ist den "klassischen" Programmiersprachen sehr Àhnlich. In diesem Artikel werden die Grundtypen - numerisch, boolesch und Zeichenfolgen - betrachtet (obwohl Zeichenfolgen formal nicht zu einfachen Skalartypen gehören).


Der einfachste Weg, das Typensystem zu verstehen, besteht darin, ein kleines Werkzeug mit Steuerelementen und Indikatoren verschiedener Typen zu erstellen:



und verbinden Sie sie auf dem Diagramm wie folgt:



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


:



Dies ist 0x3E000000. Hier passiert Folgendes: Vier Bytes einer Gleitkommazahl werden als Vier-Byte-Ganzzahl neu interpretiert. Ich habe absichtlich die Zahl 0,125 genommen, denn wenn Sie sich die Darstellung von 0,125 gemĂ€ĂŸ IEEE754 ansehen, werden Sie sehen, dass nur fĂŒnf Bits der Mantissenmenge vorhanden sind - dies gibt uns den Wert 3E im High-Byte.


Nach drei Artikeln sollten wir ziemlich sicher mit drei Arten von Daten arbeiten:



Wenn Sie Fragen zu dem prÀsentierten Material haben, stellen Sie diese in den Kommentaren, und im nÀchsten Artikel werden wir Arrays betrachten.


All Articles