BitConverter 类,可以从byte数组中转换 但是要注意尾序,也就是你要清楚哪个字节是高位,哪个字节是低位。 BitConverter 一般以小尾方式处理,这是因为跑windows 的机器通常是小尾的。
追问:
我希望的格式是uint的0xfffffff这种,而不是十进制的数字格式上希望就是标题的拼接最后是一个完整的8位字节的这个格式 但是最后这个字段是uint的类型
追答:
uint 是一种类型,并不是指定的16进制或10进制。
uint 在打印的时候,用x 去格式化就是16进制显示方式,不加就是10进制。而存储方式只有一种,那就是二进制。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
byte
aa=0x00;
byte
bb=0xf;
byte
cc=0x1;
byte
dd=0x00;
byte
[] bytes =
new
byte
[]{aa,bb,cc,dd};
uint
num = BitConverter.ToUInt32(bytes,0);
Console.WriteLine(
"0x{0:X8}"
,num);
Console.WriteLine(
"{0}"
,num);
byte
[] bytes2 =
new
byte
[]{dd,cc,bb,aa};
num = BitConverter.ToUInt32(bytes2,0);
Console.WriteLine(
"0x{0:X8}"
,num);
Console.WriteLine(
"{0}"
,num);
|
-
提问者评价
-
原来如此,明白了!谢谢!