在java无符号类型中强制转换

Cast in java unsigned types

本文关键字:转换 类型 java 无符号      更新时间:2023-10-16

我读到在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[] bytes = new byte[12];

谢谢

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

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

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

不管得到的是什么符号

这么说,你应该用short表示前4个数字,用int表示最后一个。