繁体   English   中英

Java:将parseByte转换为字节,反之亦然,返回不同的值

[英]Java: parseByte to a byte and vice versa return different values

当我使用

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()

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

整数#parseInt()

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

返回一个Integer对象,该对象保存用第二个参数给出的基数解析时从指定String提取的值。 第一个参数被解释为代表第二个参数指定的基数中的有符号整数,就像将参数提供给parseInt(java.lang.String,int)方法一样。 结果是一个Integer对象,它表示字符串指定的整数值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM