我在java中读到没有无符号数据类型。我需要发送此消息:
A5A5 0008 F005 0001 00000003
uin16 uint16 uint16 uint16 uint32
我这样做了:
int prefijo = 0xA5A5;
int numbytes = 0x0008;
int tipo = 0xF005;
int id = 0x0001;
long estado = 0x00000003;
是正确的方法吗?现在我需要在byte []中推送此信息以发送到我的设备。我该怎么办???
byte[] bytes = new byte[12];
感谢
答案 0 :(得分:0)
short
使用16位int
使用32位long
使用64位在任何情况下,当您使用十六进制值时,可以忽略该符号:
byte b=(byte)0x81; //1000 0001
无论是十进制“解释”中的符号,它都有效。
这样说,你应该使用前4个数字的short和最后一个数字的int。