当我使用
时small =Byte.parseByte("01101001",2)
然后使用它:
String binary = Integer.toBinaryString(small & 0xFF);
binarynumber= Integer.parseInt(binary);
他们给出了不同的价值观。二进制数= 1101001
前导0发生了什么?
CNC中 我想我已经弄明白了,感谢所有回复!
答案 0 :(得分:1)
为什么要有一个领先的零?您对Byte.parseByte("01101001",2)
和Byte.parseByte("1101001",2)
的结果有何不同?两者都返回相同的byte
。
同样适用于Integer.parseInt()
。
如果要在输出中使用前导零,则必须使用格式字符串。
答案 1 :(得分:0)
总是返回一个Integer
,即十进制表示,它永远不会有前导零。
返回一个Integer对象,其中包含从中提取的值 使用第二个给定的基数解析时指定的String 论点。第一个参数被解释为表示已签名 第二个参数指定的基数中的整数,就像是一样 参数被赋予parseInt(java.lang.String,int) 方法。结果是一个表示整数的Integer对象 字符串指定的值。