Java:parseByte到一个字节,反之亦然,返回不同的值
当我使用Java:parseByte到一个字节,反之亦然,返回不同的值,java,parsing,binary,byte,Java,Parsing,Binary,Byte,当我使用 small =Byte.parseByte("01101001",2) 然后用这个: String binary = Integer.toBinaryString(small & 0xFF); binarynumber= Integer.parseInt(binary); 它们给出了不同的值。二进制数=1101001 领先的0发生了什么 -编辑- 我想我明白了,谢谢你的回复 为什么要有前导零?对于Byte.parseByte(“01101001”,2)和Byte.parse
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)
,您如何期望不同的结果?两者都返回相同的字节
这同样适用于Integer.parseInt()
如果要在输出中包含前导零,则必须使用格式字符串。
始终返回一个整数
,即十进制表示法,该表示法从来没有前导零
返回一个整数对象,该对象包含从
使用第二个字符给定的基数进行分析时指定的字符串
论点第一个参数被解释为表示带符号的
第二个参数指定的基数中的整数,与
参数被提供给parseInt(java.lang.String,int)
方法。结果是一个表示整数的整数对象
由字符串指定的值
整数的前导0总是被删除。4==0000000000000 4,但表示为4。