java读取倒序存储的int型数据

C语言保存int型数据到内存中,java去读取这个int数据,发现是错误的,原来4个字节他们在内存的排序不一样,如何解决,样java语言正确读取倒序存储的int型数据,不... C语言保存int型数据到内存中,java去读取这个int数据,发现是错误的,原来4个字节他们在内存的排序不一样,如何解决,样java语言正确读取倒序存储的int型数据,不要读出来再移位的方法,那样效率太低了

比如1,在java里正确的0000 0000 0000 0000 0001 但是现在要读的却是1000 0000 0000 0000
展开
 我来答
百度网友9308069
2015-01-05 · TA获得超过1万个赞
知道大有可为答主
回答量:3947
采纳率:89%
帮助的人:1896万
展开全部

x86下C默认输出小端基模数。而Java默认IO输入输出大端数。

你说不"读出来再移位",只有NIO的ByteBuffer.order可以设,纯握背后的实现也类似

读出再计算的办法速度并不慢。瓶颈不会在这1行算术。

byte[] a=//读4个字节.或选4个字节
int 做锋庆i=(a[0]&0xff)+((a[1]&0xff)<<8)+((a[2]&0xff)<<16)+<<((a[3]&0xff)<<24);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式