C#-U将数组排序为多个位
我有一个从设备读取的C#-U将数组排序为多个位,c#,bit-manipulation,data-conversion,ushort,C#,Bit Manipulation,Data Conversion,Ushort,我有一个从设备读取的ushort[3]数据。现在我想将其转换为以下格式: 第一个字ushort[0]-->16位 第二个字ushort[1]-->8位和2*4位 第三个字ushort[2]-->4*4位 例如: ushort[3]是325616 转换后: 第一个单词0000 0000 0011 第二个单词ushort[1]-->01 0000 第三个单词ushort[2]-->0110 最后将其存储为c中的字节[30]# 我希望我已经清楚地解释了这个问题,并欢迎任何建议。谢谢 你的例子不符合
ushort[3]
数据。现在我想将其转换为以下格式:
第一个字ushort[0]-->16位
第二个字ushort[1]-->8位和2*4位
第三个字ushort[2]-->4*4位
例如:
ushort[3]是325616
转换后:
第一个单词0000 0000 0011
第二个单词ushort[1]-->01 0000
第三个单词ushort[2]-->0110
最后将其存储为c中的字节[30]#
我希望我已经清楚地解释了这个问题,并欢迎任何建议。谢谢 你的例子不符合你的定义。ushort[1]仅为10位(不是8&2*4=16),ushort[2]仅为4位(而不是4*4=16)。如果您试图将ushort
s转换为二进制形式,您可以在此处找到解决方案:@RomanoZumbé抱歉我的表达式。图片中的黄色区域是4位数据,不是C标准的数据类型,可以将其视为一个高4位缺省值为0的字节。