Java can';我找不到解决办法 public类BinaryToDecimal{ 公共静态void main(字符串[]args){ int二进制=101011101; int d=10; int l=1; 对于(intj=1;j
,这里有一个非常简单的算法,使用Java can';我找不到解决办法 public类BinaryToDecimal{ 公共静态void main(字符串[]args){ int二进制=101011101; int d=10; int l=1; 对于(intj=1;j,java,Java,,这里有一个非常简单的算法,使用2^x逻辑 它基本上做的是: 如果我们在二进制变量中遇到1,我们将2^(1的位置)添加到decimal变量中 public class BinaryToDecimal{ public static void main(String[]args){ int binary = 101011101; int d = 10; int l = 1; for (int j=1;j<=8;j++){ int r = (bin
2^x
逻辑
它基本上做的是:
如果我们在二进制变量中遇到1
,我们将2^(1的位置)
添加到decimal
变量中
public class BinaryToDecimal{
public static void main(String[]args){
int binary = 101011101;
int d = 10;
int l = 1;
for (int j=1;j<=8;j++){
int r = (binary/d%10)*l;
int k = r;
int z = r + k;
d*=10;
l*=2;
}
System.out.println("The binary number " + binary + " is equivalent to "+ z +" in decimal."); // z here is out of scope of for
}
class-MyClass{
公共静态void main(字符串[]args){
int-bin=101;
字符串二进制=String.valueOf(bin);
整数小数=0;
对于(int i=0;i
公共类二进制指定{
公共静态void main(字符串[]args){
int二进制=101011101;
int=10;
int-powerOfTwo=1;
整数小数=0;
对于(int j=1;joops..我只能用于循环…我应该怎么做?你应该在for
循环之外声明z
变量。只用于什么?你想要的结果是什么?我意识到你只是在学习。这就是为什么现在是摆脱使用单字母变量名习惯的最佳时机。请使用na实际上表示变量用途的mes。我想Titus有答案,但我应该在哪里声明它呢?这个答案超出了我的水平。但是谢谢我得到了我的答案。@AdelHabbal没问题,祝你晚上愉快顺便说一句:)
class MyClass{
public static void main(String[] args) {
int bin = 101;
String binary = String.valueOf(bin);
int decimal = 0;
for (int i = 0 ; i < binary.length() ; i++){
if (binary.charAt(i) == '1'){
decimal += Math.pow(2, binary.length() - i - 1);
}
}
System.out.println(decimal);
}
}
public class BinaryToDecimal{
public static void main(String[]args){
int binary = 101011101;
int powerOfTen = 10;
int powerOfTwo = 1;
int Decimal = 0;
for (int j=1;j<=8;j++){
int splitAnswer = (binary/powerOfTen%10)*powerOfTwo;
int old = splitAnswer;
Decimal = splitAnswer + old;
powerOfTen*=10;
powerOfTwo*=2;
}
System.out.println("The binary number " + binary + " is equivalent to "+ Decimal +" in decimal.");
}