java - 将二进制改为十进制

标签 java binary decimal data-conversion

我必须编写一个将二进制更改为十进制的方法。 编写一个方法,将提供的二进制数字(作为字符串)转换为十进制数。

  • convertToDecimal("01101011") = 107
  • convertToDecimal("00001011") = 11

我创建它是为了将十进制更改为二进制,但是我不确定如何将其创建为二进制到十进制。

public String convertToBinary(int decimal) {

    int n = decimal;
    int digit;
    String out = "";
    while (n > 0){
     n = decimal/2;
     digit = decimal % 2;
     out = digit + out;
     decimal = n;
    }

    out = addPadding(out);
    return out;
    }

private String addPadding(String s){
      String out = s;
      int len = s.length();
      if (len == 8) return s;
      else{
          switch(len){
            case 7:
                out = "0"+s;
                break;
            case 6:
                out = "00"+s;
                break;
            case 5:
                out = "000"+s;
                break;
           }
       }
       return out;
      }
}

最佳答案

// 1. In the first method we will use parseInt() function to convert binary to decimal..
    
    let binaryDigit = 11011; let getDecimal = parseInt(binaryDigit, 2);
    console.log(getDecimal);
    

// 2. In the second method we going through step by step, using this trick we can improve our logic better..
    
    let binaryDigit = 11011; let splitBinaryDigits =
    String(binaryDigit).split(""); let revBinaryArr =
    splitBinaryDigits.reverse(); let getDecimal = 0;
    
    revBinaryArr.forEach((value, index) => {  

     let getPower = Math.pow(2, index); 
        getDecimal += value * getPower; 

});
    console.log(getDecimal);

关于java - 将二进制改为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52718059/

相关文章:

Java : divide the screen

c - 在C中写入9位二进制数据

vb.net - VB.NET 中数字的小数位

c - 如何让小数点的值只显示在数字中?

java - 执行子查询后无法返回 JDBC SQL 查询结果

java - 无法从 OnClickListener 启动 Activity "method startActivity(Intent, int) is undefined for the type"

python - 如何在 Python3 中将 'binary string' 转换为普通字符串?

php - 在 PHP 中处理二进制数据

Java将负二进制转换回整数

java - 每个元素具有相同键的 DBObject 数组