您的位置:首页 > 编程语言 > Java开发

java byte中存大于0x7E的十六进制数

2015-12-30 17:51 495 查看
在做一个Android app和arm板子交互的程序中,遇到一个问题,Java byte中无法直接存储大于0x7E的十六进制,但是C语言却可以。

出现这个状况的原因是: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;  //正确


参考
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: