在java无符号类型中强制转换
Cast in java unsigned types
我读到在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表示最后一个。
相关文章:
- 无法转换类型 C++
- 包含可变参数包的第一个可转换类型的别名的结构
- 将 std::conditional 与不可转换类型(原始与指针)一起使用
- 链接方法时出现转换类型错误
- 如何避免隐式转换类型
- 在多重继承场景中动态强制转换类型
- 编译器不支持的转换类型
- 错误调用功能无法转换类型
- 我想看到一个在整个后缀表达式的上下文中查找转换类型 id 的示例
- 对于动态类型为强制转换类型的对象,dynamic_cast失败
- 无法在初始化中转换类型
- 如何让"auto"转换类型
- 如何通过强制转换类型指针将字符数组转换为uint16_t
- 如何从新运算符+(Template类)返回具有转换类型的对象
- 带有模板的基于枚举的工厂无法转换类型
- 使用SWIG类型映射通过字符串转换类型
- 对于可转换类型,设计比循环依赖项更好
- SWIG不能正确转换类型定义
- 将类型转换扩展到可转换类型的对/元组
- 想要将字符数组的部分转换/类型转换为值