Java:parseByte到一个字节,反之亦然,返回不同的值

时间:2013-09-24 05:26:54

标签: java parsing binary byte

当我使用

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

然后使用它:

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

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

前导0发生了什么?

CNC中 我想我已经弄明白了,感谢所有回复!

2 个答案:

答案 0 :(得分:1)

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

同样适用于Integer.parseInt()

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

答案 1 :(得分:0)

Integer#parseInt()

总是返回一个Integer,即十进制表示,它永远不会有前导零。

  

返回一个Integer对象,其中包含从中提取的值   使用第二个给定的基数解析时指定的String   论点。第一个参数被解释为表示已签名   第二个参数指定的基数中的整数,就像是一样   参数被赋予parseInt(java.lang.String,int)   方法。结果是一个表示整数的Integer对象   字符串指定的值。