我有一个任务,我必须将十六进制转换为 16 位二进制字符串,然后使用按位运算符比较其中两个。我有一个 for 循环,它执行a.charAt[i]
&b.charAt[i]
到一个字符串生成器字符串。现在,我希望它输出一个二进制数,但我已经达到了每次执行该行时,它给我的数字不是 0 或 1。它给了我 2 个数字(2 和 3)。我究竟做错了什么?
一些代码:
int bin = 0;
hex = hex.replaceFirst("0x", "");
bin = Integer.parseInt(hex, 16);
hex = String.format("%16s", Integer.toBinaryString(bin));
return hex;
我要评估的两个十六进制数是FFF7
和0001
。我已经成功地将它们转换为二进制字符串。我也不知道为什么,但前面的零没有出现,只是空格:/
我已经在网上广泛搜索了几个小时,但似乎找不到我遇到的问题。