首页 > 解决方案 > 如何编写代码将二进制转换为十进制并返回 Xcode?

问题描述

如何编写代码将二进制转换为十进制并返回 Xcode?

我想做一个二进制到十进制的计算器,但我不知道如何在代码中将二进制转换为十进制?

谢谢你。

标签: binary

解决方案


十进制数等于二进制数字的总和乘以它们的 2 次方。

例如 --> binaryNumber = 10011 (base:2) 可以通过 decimalNumber = (1*(2^4))+(0*(2^3))+(0*(2^2)) 转换为十进制+(1*(2^1))+(1*(2^0)) (基数:10)

我将用JAVA编写代码供您参考

对于二进制到十进制:

public static void main(String [] args){
  int binaryNumber = 10011 ;
  static int sum = 0;

  BinaryToDecimal(binaryNumber,0);
}

//Here we are calculating from right to left
public static void BinaryToDecimal(int number, int power){
   int digitAtPosition = number%(10);
   sum = sum + (digitAtPosition * (2^(power)));
   while(number/10 != 0){
      BinaryToDecimal(number/10, power+1);
   }
}

现在同样对于十进制到二进制的转换,

我们将有一个十进制数。首先,您必须继续除数,直到商变为零。然后从这些步骤中,我们可以得到与给定十进制等效的二进制数。

例如 --> 我们有一个 decimalNumber = 13 (base:10)。

13/2 商:6 余数:1

6/2 商:3 余数:0

3/2 商:1 余数:1

1/2 商:0 余数:1

二进制等价物是通过向后写余数来找到的,即 1101 (base:2)

在 Java 中(用于十进制到二进制)

public static void main(String [] args){
  int decimalNumber = 13;
  static int [] remainders = new int[size];
  static int arrayPos = 0;

  DecimalToBinary(decimalNumber);
}
public static DecimalToBinaryConverter(int number){
  remainders[arrayPos++]=number%2;
  while(number/2 > 0){
    DecimalToBinaryConverter(number/2);
  }
}

现在,如果您反向打印数组,您将获得二进制值。


推荐阅读