java - java中的位操作

标签 java numbers byte math bitwise-operators

我在 byte[] 中有一个 byte slice 段。数组的总大小为 4,我想将其转换为正长数。例如,如果字节数组有四个字节 101、110、10、10000001,那么我想得到二进制序列表示的长数

00000000 00000000 00000000 00000000 00000101 00000110 00000010 10000001

等于 84279937

在 Java 中执行此操作的有效方法是什么?

最佳答案

假设小端,

(b[0] & 0xFF) | (b[1] & 0xFF) << 8 | (b[2] & 0xFF) << 16 | (b[3] & 0xFF) << 24

例子,http://www.ideone.com/p68zS

& 0xFF 用于将有符号字节转换为无符号...

关于java - java中的位操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2936008/

相关文章:

java - 实现 OnClickListener

c# - 生成一个 7 位数的数字,前面可以有零

java - 在java中从 boolean 值转换为字节

java - 比较两个未知字符串并找到匹配项

java - Launch4j 将 jar 转为 exe

highcharts - highchart 中的波斯(波斯)数字

c# - 阶乘末尾的零个数

c - 如何将已声明的 char 字符串(即 Unicode 字符)读取为十六进制 2 位值?

vb.net - 字节转换回图像

java - 关于在 main 方法中覆盖 GUI 的 run() 方法