gpt4 book ai didi

java - Java 字符只有 7 位?

转载 作者:行者123 更新时间:2023-12-02 06:54:19 25 4
gpt4 key购买 nike

我正在尝试制作 UUencode 算法,我的部分代码包含以下内容:

for(int x = 0; x < my_chars.length; x++)
{
if((x+1) % 3 == 0)
{
char first = my_chars[x-2];
char second = my_chars[x-1];
char third = my_chars[x];
int first_binary = Integer.parseInt(Integer.toBinaryString(first));
int second_binary = Integer.parseInt(Integer.toBinaryString(second));
int third_binary = Integer.parseInt(Integer.toBinaryString(third));
int n = (((first << 8) | second) << 8) | third;
System.out.print(my_chars[x-2] + "" + my_chars[x-1] + my_chars[x] + Integer.toBinaryString(n));

}
}

System.out.println();
System.out.println(Integer.toBinaryString('s'));

我想要实现的是将我得到的字符中的 8 位组合成一个大的 24 位 int。我面临的问题是结果是一个 23 位 int。假设我的前 3 个字符是:

  • “T”,二进制表示为 01010100
  • “u”,二进制表示为 01110101
  • “r”,二进制表示为 01110010

我从程序中得到的结果是由这些位组成的 int:10101000111010101110010'T' 的表示缺少开头的 0。

此外,我还包含了最后两行代码,因为我从 's' 获得的二进制字符串是:1110011,它缺少开头的 0。

我已经检查过我是否错误地向右滚动,但似乎我没有这样做。

最佳答案

方法Integer.toBinaryString()不对左侧的结果进行零填充;您必须自己对其进行零填充。

This value is converted to a string of ASCII digits in binary (base 2) with no extra leading 0s.

关于java - Java 字符只有 7 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17578525/

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