【发布时间】:2016-06-07 04:55:36
【问题描述】:
PS:我尝试在 Stackoverflow 上搜索许多现有问题,但是 只会给我的查询添加混乱!
10101
11100
11010
00101
将此视为示例输入,我需要将其一一读为BinaryString!然后我需要将它们表示为Integer。
显然int x = 20将x初始化为十进制整数,
我从其他问题中了解到int y = 0b101 将y 初始化为二进制Integer。
现在,问题是:如果我有一个二进制字符串,我如何将它转换为 int ,就像前面的 0b 一样。我的目标是执行位级别的OR 和XOR 操作。
即从上面的输入,我需要做10101 ^ 11100
让我知道这是否是解决此类问题的正确方法,谢谢!
【问题讨论】:
-
提示:没有“十进制整数”或“二进制整数”之类的东西。
int x = 20;、int x = 0x14和int x = 0b10100;语句完全等价。整数只是一个整数。如果我有 20 个蛋糕,那么无论我用二进制、十六进制、十进制还是其他方式计算它们的数量都是一样的...... -
@JonSkeet 谢谢,我明白了,所以我认为** 对两个十进制数执行 XOR 操作与对它们的二进制数执行 XOR 相同**。我说的对吗?
-
@shaheen - 是的,检查我的答案。尤其是最后一段。
-
嗯,有点 - 但更简单的是理解没有“十进制数”这样的东西(对于整数,无论如何......使用浮点它变得更加复杂)。有一个数字的十进制表示(作为一个字符串),还有一个数字的二进制表示(作为一个字符串)...
-
而且,我在哪里可以找到信息来掌握这些概念,处理所有格式的字符串和整数,尤其是在使用 java 编码时?再次感谢!
标签: java string binary integer xor