java byte中存大于0x7E的十六进制数
2015-12-30 17:51
495 查看
在做一个Android app和arm板子交互的程序中,遇到一个问题,Java byte中无法直接存储大于0x7E的十六进制,但是C语言却可以。
出现这个状况的原因是:Java中是byte存储的是有符号数,且没有提供无符号的byte类型,因此在其表示范围为-128-127之间。
处理方法:对于大于0x7E数,我们使用内联转换(inline conversion)进行处理后存入,如下所示。
参考
出现这个状况的原因是:Java中是byte存储的是有符号数,且没有提供无符号的byte类型,因此在其表示范围为-128-127之间。
处理方法:对于大于0x7E数,我们使用内联转换(inline conversion)进行处理后存入,如下所示。
private byte test_01 = (byte)0x7E; //正确 private byte test_02 = (byte)0x7E; //正确 private byte test_03 = 0x80; //错误 private byte test_04 = (byte)0x80; //正确
参考
相关文章推荐
- java基础篇
- error the @annotation pointcut expression is only supported at Java 5 compliance level or above
- Spring3自定义环境配置 <beans profile="">
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- Java基本数据类型,及其简单介绍
- java19:对象数组
- Spring @PathVariable
- springMVC框架
- JAVA虚拟机之五:常见配置与范例
- Eclipse闪退、adb无法打开
- Java基础知识总结(绝对经典)
- JAVA系列教程
- java Session与Coockie的使用
- 10个实用的但偏执的Java编程技术
- MyEclipse更改项目名,导致Spring加载两次
- spring的各个jar功能说明及jar包之间的依赖关系
- 理解java线程状态
- Struts2值栈/OGNL表达式
- Java栈与堆
- java容器浅析