用Java检查字节数组中的各个位?
发布时间:2020-05-24 18:12:24 所属栏目:Java 来源:互联网
导读:所以说我有一个字节数组,并且我有一个函数来检查字节数组的第n个最低有效位索引是1还是0.如果该位是1则返回true,如果该位则返回false字节数组的最低有效位定义为字节数组第0个索引中的最后一个有效位,字节数组的最高有效位定义为(字节数组中的最高有效位). le
|
所以说我有一个字节数组,并且我有一个函数来检查字节数组的第n个最低有效位索引是1还是0.如果该位是1则返回true,如果该位则返回false字节数组的最低有效位定义为字节数组第0个索引中的最后一个有效位,字节数组的最高有效位定义为(字节数组中的最高有效位). length – 1)字节数组的索引. 例如, byte[] myArray = new byte[2]; byte[0] = 0b01111111; byte[1] = 0b00001010; 呼叫: myFunction(0) = true; myFunction(1) = true; myFunction(7) = false; myFunction(8) = false; myFunction(9) = true; myFunction(10) = false; myFunction(11) = true; 做这个的最好方式是什么? 谢谢! 解决方法您可以使用此方法:public boolean isSet(byte[] arr,int bit) {
int index = bit / 8; // Get the index of the array for the byte with this bit
int bitPosition = bit % 8; // Position of this bit in a byte
return (arr[index] >> bitPosition & 1) == 1;
}
bit%8是相对于字节的位位置.arr [index]>> bit%8将索引处的位移动到位0位置. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
