Arrays Powershell:如何初始化像C中那样的字节数组?
在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
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?这有点痛苦,因为它降低了可读性,但至少它可以工作。请参阅