gpt4 book ai didi

java - 在java中逐位读取数字字符串的最佳方法

转载 作者:行者123 更新时间:2023-12-02 04:45:03 26 4
gpt4 key购买 nike

所以我实际上已经实现了这一点,但我认为必须有一个更正确和更有效的解决方案。

我必须将数字转换为二进制。我通过 Integer.toBinaryString(someNumber) 来完成,现在我必须对该二进制表示中的每个数字执行 XOR 。因此,如果我的号码是 2,其二进制表示形式是 010,现在假设我的另一个号码是 10,所以我必须执行 0^1,1^1,0^10^0,1^0,0^0 并创建新的二进制表示。

这是我尝试过并取得的成果。但我认为这不是最好的解决方案。我想要一个最佳且有效的解决方案,因为这是图像处理算法所必需的,并且这个过程针对每个像素进行。所以性能很重要..

    String binary = Integer.toBinaryString(125);
StringBuilder concat = new StringBuilder();
char[] numericArr = binary.toCharArray();
for (char c : numericArr) {
concat.append((Character.getNumericValue(c)^input2));
}
int output = Integer.parseInt(concat, 2);

最佳答案

您确实不想靠近字符串,并且您正在执行的操作非常昂贵。

对于您的用例,我建议将您的图像存储在字节数组中并迭代它进行异或。像这样的东西:

byte[] image;
for (int i = 0; i < image.length; i++) {
image[i] ^= 255;
}

关于java - 在java中逐位读取数字字符串的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29729308/

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