Most bitshift solutions I have seen for converting an int to a byte array go like this:

return new byte [] {
    (byte) ((i >> 24) & 0xFF),
    (byte) ((i >> 16) & 0xFF),
    (byte) ((i >> 8) & 0xFF),
    (byte) (i & 0xFF);
}

Why the & 0xFF??

有帮助吗?

解决方案

& 0xFF is redundant and makes no difference in the given case

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top