gpt4 book ai didi

java - 如何在Java中用字节构建int值?

转载 作者:行者123 更新时间:2023-12-02 01:03:29 24 4
gpt4 key购买 nike

我的问题是关于Java int数据结构。

如果我有一个 4 字节的缓冲区

byte[] buffer = {(byte)A, (byte)B, (byte)C, (byte)D};

如何使用此数组和逻辑运算符构建正整数和负整数值( &|<<>> )?

假设 int = 4 且 int = 130;以及-4和-130。

最佳答案

要从四个 8 位值构造 32 位值,您需要知道 Endianness

如果我们假设高位存储在第一个字节中,那么你可以这样做:

int v = 0;
for (int i=0; i<4; i++)
v = (v<<8) | (buffer[i]&0xff);

如果高位存储在最后一个字节,则需要反向循环

int v = 0;
for (int i=3; i>=0; i--)
v = (v<<8) | (buffer[i]&0xff);

关于java - 如何在Java中用字节构建int值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60344462/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com