Java 在不使用数学 pow 的情况下将字符串二进制转换为整数

标签 java

<分区>

主要内容:

public class Main{                                      
  public static void main(String[] args){                                       
    System.out.println(Convert.BtoI("101101010101"));                                   
    System.out.println(Convert.BtoI("1011110"));                                                                            
  }                                     
}

子:

public class Convert{                                       
  public static int BtoI(String value){                                     
    int no = 0;                                                                         

    for(int i=value.length()-1;i>=0;i--){                                       
      if(value.charAt(i)=='1')                                      
        no += (???) ;                                       
      ++;                                       
    }                                       
    return no;                                      
  }                                     
}

如何在不使用 maths.pow 的情况下将二进制字符串转换为整数? ,只使用 + - * 和/,我应该为它实现另一个 for 循环吗 int j = 1;i <= example; i*=2){ ?。我很困惑,想在不使用 maths.pow 的情况下学习或任何类似的代码。

最佳答案

从字符串的开头到结尾,您只需将每个字符与其幂相乘,然后将总数相加即可得出以十为底的值:

public static int binaryToInt(String binaryNum) {
    int pow = 1;
    int total = 0;

    for (int i = binaryNum.length(); i > 0; i--) {
        if (binaryNum.charAt(i-1) == '1')  {
            total += pow;
        }
        pow *= 2;
    }

    return total;
}

但我认为这样更优雅:

String binaryNum = "1001";
int decimalValue = Integer.parseInt(binaryNum, 2);

关于Java 在不使用数学 pow 的情况下将字符串二进制转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53824274/

相关文章:

java - 在Java中连接数组?

java - 在按 Enter 之前检查用户是否输入了任何内容

java - 如何以编程方式证明 StringBuilder 不是线程安全的?

javascript - 如何在 Javascript/HTML 中存储输入值

java - 如何使用java中的身份验证方法连接Azure VM上的WASB

java - Java 中的色度键效果

java - Java 中微分方程组的 Runge-Kutta (RK4)

java - 在同一文件夹中找不到文件 Java

java - 事件派发线程在哪里调用?

java - 如何在Android中的WebView中显示PDF?