私はc型(u8、s16、u32、..)からJavaへの変換(ブール値を含むクラス、および長い値)を行っています。そしてもちろん、ビット数の長さ。
例: u8 signed=false length=8;
ただし、型を int[] に変換する際に
これがあります:
int[] ret = new int[length / 8];
for (int i = 0; i < ret.length; i++) {
ret[ret.length - 1 - i] = (char) (0xff & (value >> ((ret.length - i - 1) * 8)));
}
たとえば、value=7; 長さ=8
0xff & () は何を達成できますか? 以来
0xff はちょうど 1111 1111 で、7 は 0000 0111 => 結果 0000 0111
それともここで何か他のことが起こっていますか?