Este é o terceiro artigo da série LabVIEW NXG, no qual analisamos tipos de dados simples e conversões simples entre eles.

O sistema do tipo LabVIEW é muito semelhante às linguagens de programação "clássicas". Neste artigo, consideraremos os tipos básicos - numéricos, booleanos e cadeias (embora formalmente as cadeias não pertençam a tipos escalares simples).
A maneira mais fácil de entender o sistema de tipos é criar uma pequena ferramenta com controles e indicadores de diferentes tipos:

e conecte-os no diagrama assim:

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

Este é 0x3E000000. Aqui acontece o seguinte - quatro bytes de um número de ponto flutuante são reinterpretados como um número inteiro de quatro bytes. Peguei intencionalmente o número 0,125, porque se você observar a representação de 0,125 de acordo com a IEEE754, verá que existem apenas cinco bits do conjunto mantissa - isso nos dá o valor 3E no byte alto.
Após três artigos, devemos trabalhar com bastante confiança com três tipos de dados:

Se você tiver alguma dúvida sobre o material apresentado, pergunte nos comentários e, no próximo artigo, consideraremos as matrizes.