readInt() or readDouble()and you can combine 4 byte into one int by yourself.
解决方案 »
- jsp页面如何实现通过改变下拉列表的值来修改下面的页面显示?
- ThreadPoolExecutor.CallerRunsPolicy()相关问题问题
- 关于struts2之UrlRewrite
- 求助,谢谢大家们 急需答案1!
- java中 抽象类和接口应该怎么用?
- 命令行
- 如何获取系统下cpu,内存,硬盘使用情况,类似window的任务管理起的“性能”tab
- 关于Runtime.getRuntime().exec(cmd)的一个小问题
- 关于下载图像的问题
- 在java里,递归的程序怎么写??麻烦随便写个例子出来。谢谢!
- 编哪个头文件
- 使用idea3.0.1时遇到的问题(我编译时报illegal escape character,这个错怎么解决?)
如果值正确的话 if parameter < 0 then parameter = parameter * -1;
服务器传过来一个数据包,前8个为数值
而前四个为长度,后四个为类型,也是用整型值表示的。
这两个数据都是用四位表示的。
现在我接收到的数据如下:
0A 00 00 00 c8 00 00 00
服务器是C++写的。数据很好表示。
但是在java这一端就有问题,因为后四个字节的值大于了127,就变成了负数。c8是十进制的200,而在java中变成了-56,
如何才能转成正数,200呢?
int result = 0;
int tmp = is.read();
result = (tmp & 0xff) << 24;
tmp = is.read();
result += (tmp & 0xff) << 16;
tmp = is.read();
result += (tmp & 0xff) << 8;
tmp = is.read();
result += (tmp & 0xff);
return result;
}