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.