0

我正在尝试制作一个新字符/整数。我所知道的关于 char/int 的只是前 6 位。我有一个变量叫

number

这是一个相当大的数字,它由 24 位组成。有了这个数字,我想使用 toBinaryString 方法

bits = Integer.toBinaryString(number);

所以现在我有一个变量,其中包含我的变量号中的位。此时我想把这个字符串分成 4 个,所以我剩下 4、6 个字符串,它们将代表我的整数/字符的位。我将如何创建一个知道这些位的数字或字符?

为了确保我详细解释它,让我举个例子:

我有

number = "abc" // 011000010110001001100011 as binary representation

现在我想用前 6 位(011000)创建一个新整数。另一个具有以下 6 位的整数 (010110) 等等......

4

1 回答 1

4

为什么要将它作为字符串?听起来你真的只想要位移操作:

number = ...;

int bottomBits = number & 0x3f;
int middleBits = (number >>> 6) & 0x3f;
int upperBits = (number >>> 12) & 0x3f;

最低有效的6 位bottomBits也是如此,然后是(最高有效位,即二进制字符串中的前 6 位)。middleBitsupperBits

于 2013-07-20T20:36:13.890 回答