我正在做 c 类型 (u8, s16, u32,..) - 到 java 的转换(只是一个包含布尔符号和 long 值的类)。当然还有位数的长度。
所以例如: 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)));
}
例如值=7;长度=8
0xff & () 能做什么?自从
0xff 只是 1111 1111 而 7 是 0000 0111 => 结果 0000 0111
还是这里发生了其他事情?