1
大多数位位移的解决方案我已经看到了一个int转换为字节数组是这样的:INT转换为一个字节数组
return new byte [] {
(byte) ((i >> 24) & 0xFF),
(byte) ((i >> 16) & 0xFF),
(byte) ((i >> 8) & 0xFF),
(byte) (i & 0xFF);
}
为什么& 0xFF的?
大多数位位移的解决方案我已经看到了一个int转换为字节数组是这样的:INT转换为一个字节数组
return new byte [] {
(byte) ((i >> 24) & 0xFF),
(byte) ((i >> 16) & 0xFF),
(byte) ((i >> 8) & 0xFF),
(byte) (i & 0xFF);
}
为什么& 0xFF的?
& 0xFF
是多余的,使得在给定的情况下
同意,以及Graham Griffiths在他的评论中发表的其他问题的一些提示。 –
没有区别这是逐位和对位的其余部分变成0 –
事实上,这可能不是必要的,如果你将被强制转换为'(字节)',因为演员做了一个隐含的'&0xFF'操作。 –
可能的重复[如何按位与(和)在Java中工作?](http://stackoverflow.com/questions/17256644/how-does-the-bitwise-and-work-in-java) –