使用java无符号类型进行转换

时间:2014-03-10 16:05:56

标签: java android c++

我在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];

感谢

1 个答案:

答案 0 :(得分:0)

  • short使用16位
  • int使用32位
  • long使用64位

在任何情况下,当您使用十六进制值时,可以忽略该符号:

byte b=(byte)0x81; //1000 0001 

无论是十进制“解释”中的符号,它都有效。

这样说,你应该使用前4个数字的short和最后一个数字的int。