byte[] a = new byte[2]; a[0]=0xfd,a[1]=0x05;
内存中保存顺序就是
fd 05
低位和高位分别表示16进制的高低位,换10进制容易理解,97,高位就是9,低位就是7。16进制也是这个意思。但是内存中存储,分大端内存和小端内存(详见连接),所以高位未必一定在下标小的位置,大小位置可能会在不同系统是反过来的。这个需要事先了解好上位机和下位机的内存。
转换是用系统方法:
BitConverter.ToUInt16(a);
BitConverter类可以把常用的值类型转换为对应的字节数组,也可以逆向的转回来,你仔细看看这个类的成员函数。
http://msdn.microsoft.com/zh-cn/library/system.bitconverter(VS.80).aspx
⋅WPF 控件的xaml中的定义ControlTemplate内容,在该控件,Remove与Add之后,该控件的ControlTemplate重置的问题
等级
本版专家分:975
引用 1 楼jointan 的回复:展开一个二进制数时,权位大的是高位
比如0110=0*2^3+1*2^2+1*2^1+0*2^0
权位依次为3,2,1,0
3相对于2来说,是高位
假如:a数组(byte[]),长度为2,第一个索引值对应的是低位:0xfd,第二个索引值对应的是高位:0x05,那如果该两位byte组合成一个int,那应该是这个表达:(a[1]