gpt4 book ai didi

java - 编写一个方法,将提供的二进制数字(作为字符串)转换为十进制数

转载 作者:行者123 更新时间:2023-12-02 00:11:30 26 4
gpt4 key购买 nike

此方法的目的是将提供的二进制数字(作为字符串)转换为十进制数,但我没有使用我的代码得到问题想要的结果,例如 convertToDecimal("01101011") = 107,我不确定我是否相信我正确地将二进制转换为十进制数。例如:

测试

System.out.println(convertToDecimal("11001101")); = 205 

我尝试了 while 循环并创建整数,但它只是没有给我相同的结果

public static int binaryToDecimal(String binary) {
int decimal = 0;
int power = 0;
int currentIndex = binary.length() - 1;
while (currentIndex>=0) {
int currentDigit = binary.charAt(currentIndex) - '0';
decimal += currentDigit * Math.pow(2, power);
power++;
currentIndex--;
}
return decimal;
}

我期望的输出是:

convertToDecimal("01101011") = 107 
convertToDecimal("00001011") = 11 ,
System.out.println(convertToDecimal("11001101")); = 205

但没有一个是正确的

最佳答案

我运行了你的代码,它有效。但我需要做一个简单的改变:

System.out.println(convertToDecimal("11001101")); = 205 

必须更改为:

System.out.println(binaryToDecimal("11001101")); = 205 

因为 binaryToDecimal() 是函数的实际名称:

public static int binaryToDecimal(String binary) {
int decimal = 0;
int power = 0;
int currentIndex = binary.length() - 1;
while (currentIndex>=0) {
int currentDigit = binary.charAt(currentIndex) - '0';
decimal += currentDigit * Math.pow(2, power);
power++;
currentIndex--;
}
return decimal;
}

之后,一切正常。

关于java - 编写一个方法,将提供的二进制数字(作为字符串)转换为十进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58116932/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com