我必须编写一个将二进制更改为十进制的方法。 编写一个方法,将提供的二进制数字(作为字符串)转换为十进制数。
- 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/