【问题标题】:Unable to convert binary string to integer despite using parseInt in java尽管在 java 中使用了 parseInt,但无法将二进制字符串转换为整数
【发布时间】:2014-03-19 09:39:02
【问题描述】:

我想得到二进制字符串nc对应的整数,即十进制数。然而,尽管使用了 parseInt(),但这并没有发生。 例如,如果 nc="11000101" 那么 edcode 也具有相同的值,而不是给我 nc 的十进制表示。 谁能帮忙

String codest="11010101";
char[] codear=codest.toCharArray();
codear[4]=codear[5];
String nc= new String(codear);
int edcode=Integer.parseInt(nc);

【问题讨论】:

  • 试试这个:String codest="11010101"; int edcode=Integer.parseInt(codest, 2);

标签: java binarystream


【解决方案1】:

parseInt(String s, int radix) 将字符串参数解析为第二个参数指定的基数中的有符号整数。

来自here

试试这个:

int edcode=Integer.parseInt(nc, 2);

【讨论】:

    【解决方案2】:

    int edcode=Integer.parseInt(nc, 2); 这将起作用

    【讨论】:

    • 谢谢 :) 如果你能解释一下它背后的逻辑,我将不胜感激
    • JRE 需要知道您号码的基数。
    • JRE 需要了解您号码的基数。如果数字是二进制的,我们需要告诉 JRE 这个数字是二进制的。出于同样的原因,我们通过 2 作为二进制是基数 2。我希望这能很好地解释。详情请参考这里。docs.oracle.com/javase/7/docs/api/java/lang/…, int)
    • 你能接受这个答案吗?您可能需要点击答案正下方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 1970-01-01
    相关资源
    最近更新 更多