?byte类型的范围转换为0-255

bativy 2008-09-10 05:49:24
小弟现在想用java编一个串口通讯程序,但是java的byte类型的范围和VC的不同,是-126-127,发送数据的时候前面可以用(byte)强制转换,可接收的时候怎么转啊,我试过+256,但是有的时候数据是错的,肯定的方法用错了,哪位大哥能给解答一下,不胜感激。
...全文
915 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
内存泄漏 2008-09-13
  • 打赏
  • 举报
回复
扩展成int型..
int a = 0x000000FF & bytedata;

你可以看看这篇帖子:http://topic.csdn.net/u/20080911/19/d276790a-38fe-46d4-b717-d966e249e8d9.html
qj123456_0 2008-09-12
  • 打赏
  • 举报
回复
byte的范围是-128到127. 所以你是不能直接存0-255的,但是可以用一个简单的转换:
byte i = (byte)129; //129已经超过byte的范围。
System.out.println(i); //所以129当成补码就是-127
System.out.println(i & 255); //这里就还原为129了
  • 打赏
  • 举报
回复
int n = byte & 0xff;
bativy 2008-09-12
  • 打赏
  • 举报
回复
char不能与串口进行信息交互。
贝壳鱼 2008-09-10
  • 打赏
  • 举报
回复
恩, java不支持无符号, 你最好用 char 来处理吧。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧