当我使用

small =Byte.parseByte("01101001",2)


然后使用:

String binary = Integer.toBinaryString(small & 0xFF);
binarynumber= Integer.parseInt(binary);


他们给出了不同的价值。二进制数= 1101001

前0发生了什么?

-编辑-
我想我想通了,谢谢大家的回答!

最佳答案

为什么要有一个前导零?您如何期望Byte.parseByte("01101001",2)Byte.parseByte("1101001",2)的结果不同?两者都返回相同的byte

Integer.parseInt()同样。

如果要在输出中包含前导零,则必须使用格式字符串。

10-04 14:07