java - 转换为 java 无符号类型

标签 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[] bytes = new byte[12];

谢谢

最佳答案

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

无论如何,由于您使用的是十六进制值,因此可以忽略该符号:

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

无论它以十进制“解释”得到什么符号,它都有效。

也就是说,您应该对前 4 个数字使用 short,对最后一个使用 int。

关于java - 转换为 java 无符号类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22305275/

相关文章:

android - 将 Realm 对象作为 Retrofit 2 PUT 请求主体传递

android - 滚动到表单元素

c++ - 函数和参数

c++ - 多态性 c++,试图访问从抽象基类派生的类的成员函数

java - 如何在 Cucumber Selenium 中迭代特征文件

java - 如何在JSP中迭代一个对象来获取百分比?

android - 整个 Activity 上的 OnTouchListener

c++ - 等效于 Python 的列表排序与键/施瓦兹变换

java - 封装游戏实体事件

java - 在Web服务和业务层之间传递身份验证信息(Spring、tomcat)