Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Powershell:如何初始化像C中那样的字节数组?_Arrays_Powershell_Byte_List Initialization - Fatal编程技术网

Arrays Powershell:如何初始化像C中那样的字节数组?

Arrays Powershell:如何初始化像C中那样的字节数组?,arrays,powershell,byte,list-initialization,Arrays,Powershell,Byte,List Initialization,在C语言中,您可以执行以下操作: uint16_t datalen = 1024; uint16_t crc = 0x1021; uint8_t myHeader = {0x41, 0xBE, 0x21, 0x08, datlen/256, datalen%256, crc/256, crc%256}; 现在,如何在Powershell中完成这样的阵列初始化 我想稍后将字节数组发送到串行端口。没有什么不同: [uint16]$datalen = 1024 [uint16]$crc = 0x10

在C语言中,您可以执行以下操作:

uint16_t datalen = 1024;
uint16_t crc = 0x1021;
uint8_t myHeader = {0x41, 0xBE, 0x21, 0x08, datlen/256, datalen%256, crc/256, crc%256};
现在,如何在Powershell中完成这样的阵列初始化

我想稍后将字节数组发送到串行端口。

没有什么不同:

[uint16]$datalen = 1024
[uint16]$crc = 0x1021
[byte[]]$myHeader = 0x41, 0xBE, 0x21, 0x08, ($datalen/256), ($datalen%256), ($crc/256), ($crc%256)
没什么不同:

[uint16]$datalen = 1024
[uint16]$crc = 0x1021
[byte[]]$myHeader = 0x41, 0xBE, 0x21, 0x08, ($datalen/256), ($datalen%256), ($crc/256), ($crc%256)

谢谢,行得通。我错过了在字节数组之前对[uint16]的变量转换。嗯,我很早就认为它是好的,问题在于除法,它是通过对结果进行四舍五入来执行的,这是不需要的。如何避免?我想我必须使用[数学]::Floor(),rigth?这有点痛苦,因为它降低了可读性,但至少它是有效的。谢谢,这是有效的。我错过了在字节数组之前对[uint16]的变量转换。嗯,我很早就认为它是好的,问题在于除法,它是通过对结果进行四舍五入来执行的,这是不需要的。如何避免?我想我必须使用[数学]::Floor(),rigth?这有点痛苦,因为它降低了可读性,但至少它可以工作。请参阅