gpt4 book ai didi

java - 令人困惑的字节数组

转载 作者:行者123 更新时间:2023-11-30 04:14:56 24 4
gpt4 key购买 nike

我已经看到了正确的字节数组初始化

byte[] a = new byte[8];

但这意味着什么?

byte[] bitfield = new byte [0xFFFFFFF/8];
n = 18; // some integer
bitfield [n / 8] |= 1 << (n % 8);

还请解释一下0xFFFFFFF/8在这里的含义。

最佳答案

0xFFFFFFF/8

只是一个值(268435455)除以8,将数组初始化为该大小(当然,被截断)。

下一步我们得到n并设置元素n/8或 2 由于截断,成为与 1<<(n%8) 进行按位或运算的同一元素或 1 左移 (n%8)位。这相当于:

bitfield[n/8] = bitfield[n/8] | (1 << (n % 8))

请注意1<<(n%8)等于2^(n%8)哪里(n%8)n 时的余数除以 8。

关于java - 令人困惑的字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18623179/

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