我希望将int
放入byte[]
的每个组件,而不对它们进行转换:
我有:
byte[] byte = {0x16,0x12,0x34}
我要分解它:
int Size = byte[0];
int Type = byte[1];
int Ref = byte[2];
但有了这段代码
“大小=22”类型= 18‘参= 52’
他把十六进制变成十进制,但我想
‘大小= 16’类型=12‘’参= 34‘
我怎么能这么做?
发布于 2016-06-08 12:40:32
假设您的数字是正确的BCD (即两个数字都不是A
..F
),您可以这样做:
int Size = 10 * (byte[0] / 16) + (byte[0] % 16);
这样做的目的是重新解释上位数,它表示十六进制数中的十六位数,是十进制数中的十位数。
例如,将0x52
除以整数的16
生成5
,而用16
的余数生成2
。现在,将5
乘以10,再加上2
,得到小数52。
https://stackoverflow.com/questions/37702702
复制相似问题