📜  二进制到十进制转换程序

📅  最后修改于: 2021-09-27 15:20:10             🧑  作者: Mango

给定一个二进制数作为输入,我们需要编写一个程序将给定的二进制数转换为等效的十进制数。

例子 :

Input : 111
Output : 7

Input : 1010
Output : 10

Input: 100001
Output: 33

这个想法是从最右边的数字开始提取给定二进制数的数字并保留一个变量 dec_value。在从二进制数中提取数字时,将数字乘以适当的基数(2 的幂)并将其添加到变量 dec_value 中。最后,变量 dec_value 将存储所需的十进制数。
例如:
如果二进制数是 111。
dec_value = 1*(2^2) + 1*(2^1) + 1*(2^0) = 7

下图解释了如何将 ( 1010 ) 转换为等效的十进制值:

二进位二进位

下面是上述想法的实现:

C++
// C++ program to convert binary to decimal
#include 
using namespace std;
 
// Function to convert binary to decimal
int binaryToDecimal(int n)
{
    int num = n;
    int dec_value = 0;
 
    // Initializing base value to 1, i.e 2^0
    int base = 1;
 
    int temp = num;
    while (temp) {
        int last_digit = temp % 10;
        temp = temp / 10;
 
        dec_value += last_digit * base;
 
        base = base * 2;
    }
 
    return dec_value;
}
 
// Driver program to test above function
int main()
{
    int num = 10101001;
 
    cout << binaryToDecimal(num) << endl;
}


Java
// Java program to convert
// binary to decimal
 
// Function to convert
// binary to decimal
class GFG {
    static int binaryToDecimal(int n)
    {
        int num = n;
        int dec_value = 0;
 
        // Initializing base
        // value to 1, i.e 2^0
        int base = 1;
 
        int temp = num;
        while (temp > 0) {
            int last_digit = temp % 10;
            temp = temp / 10;
 
            dec_value += last_digit * base;
 
            base = base * 2;
        }
 
        return dec_value;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        int num = 10101001;
        System.out.println(binaryToDecimal(num));
    }
}
 
// This code is contributed by mits.


Python3
# Python3 program to convert
# binary to decimal
 
# Function to convert
# binary to decimal
def binaryToDecimal(n):
    num = n;
    dec_value = 0;
     
    # Initializing base
    # value to 1, i.e 2 ^ 0
    base = 1;
     
    temp = num;
    while(temp):
        last_digit = temp % 10;
        temp = int(temp / 10);
         
        dec_value += last_digit * base;
        base = base * 2;
    return dec_value;
 
# Driver Code
num = 10101001;
print(binaryToDecimal(num));
 
# This code is contributed by mits


C#
// C# program to convert
// binary to decimal
 
// Function to convert
// binary to decimal
class GFG {
    public static int binaryToDecimal(int n)
    {
        int num = n;
        int dec_value = 0;
 
        // Initializing base1
        // value to 1, i.e 2^0
        int base1 = 1;
 
        int temp = num;
        while (temp > 0) {
            int last_digit = temp % 10;
            temp = temp / 10;
 
            dec_value += last_digit * base1;
 
            base1 = base1 * 2;
        }
 
        return dec_value;
    }
 
    // Driver Code
    public static void Main()
    {
        int num = 10101001;
 
        System.Console.Write(binaryToDecimal(num));
    }
}
 
// This code is contributed by mits.


PHP


Javascript


C++
// C++ program to convert binary to decimal
// when input is represented as binary string.
#include 
#include 
using namespace std;
 
// Function to convert binary to decimal
int binaryToDecimal(string n)
{
    string num = n;
    int dec_value = 0;
 
    // Initializing base value to 1, i.e 2^0
    int base = 1;
 
    int len = num.length();
    for (int i = len - 1; i >= 0; i--) {
        if (num[i] == '1')
            dec_value += base;
        base = base * 2;
    }
 
    return dec_value;
}
 
// Driver program to test above function
int main()
{
    string num = "10101001";
    cout << binaryToDecimal(num) << endl;
}


Java
// Java program to convert binary to
// decimal when input is represented
// as binary string.
import java.io.*;
 
class GFG {
 
    // Function to convert binary to decimal
    static int binaryToDecimal(String n)
    {
        String num = n;
        int dec_value = 0;
 
        // Initializing base value to 1,
        // i.e 2^0
        int base = 1;
 
        int len = num.length();
        for (int i = len - 1; i >= 0; i--) {
            if (num.charAt(i) == '1')
                dec_value += base;
            base = base * 2;
        }
 
        return dec_value;
    }
 
    // Driver program to test above function
    public static void main(String[] args)
    {
        String num = new String("10101001");
        System.out.println(binaryToDecimal(num));
    }
}
 
// This code is contribute by Prerna Saini


Python3
# Python3 program to convert binary
# to decimal when input is
# represented as binary string.
 
# Function to convert
# binary to decimal
def binaryToDecimal(n):
    num = n;
    dec_value = 0;
     
    # Initializing base
    # value to 1, i.e 2 ^ 0
    base1 = 1;
     
    len1 = len(num);
    for i in range(len1 - 1, -1, -1):
        if (num[i] == '1'):    
            dec_value += base1;
        base1 = base1 * 2;
     
    return dec_value;
 
# Driver Code
num = "10101001";
print(binaryToDecimal(num));
 
# This code is contributed by mits


C#
// C# program to convert binary to
// decimal when input is represented
// as binary string.
using System;
 
class GFG {
 
    // Function to convert binary to decimal
    static int binaryToDecimal(String n)
    {
        String num = n;
        int dec_value = 0;
 
        // Initializing base value to 1,
        // i.e 2^0
        int base1 = 1;
 
        int len = num.Length;
        for (int i = len - 1; i >= 0; i--) {
            if (num[i] == '1')
                dec_value += base1;
            base1 = base1 * 2;
        }
 
        return dec_value;
    }
 
    // Driver Code
    public static void Main()
    {
        String num = "10101001";
        Console.WriteLine(binaryToDecimal(num));
    }
}
 
// This code is contribute by mits


PHP
= 0; $i--)
    {
        if ($num[$i] == '1')    
            $dec_value += $base;
        $base = $base * 2;
    }
     
    return $dec_value;
}
 
// Driver Code
$num = "10101001";
echo binaryToDecimal($num), "\n";
 
// This code is contributed by aj_36
?>


Javascript


C++
#include 
using namespace std;
 
int main()
{
    char binaryNumber[] = "1001";
     
    cout << stoi(binaryNumber, 0, 2);
 
    return 0;
}
// This code is contributed by whysodarkbro


C
#include 
#include 
#include 
 
int main()
{
    char binaryNumber[] = "1001";
    int bin, dec = 0;
     
    bin = atoi(binaryNumber);
 
    for(int i = 0; bin; i++, bin /= 10)
        if (bin % 10)
            dec += pow(2, i);
 
    printf("%d", dec);
 
    return 0;
}
 
// This code is contributed by whysodarkbro


Java
public class GFG {
    public static void main(String args[])
    {
        String binaryNumber = "1001";
        System.out.println(Integer.parseInt(binaryNumber, 2));
    }
}
 
// This code is contributed
// By Yash Kumar Arora


Python3
n = input()
 
# Convert n to base 2
s = int(n, 2)
 
print(s)


C#
using System;
 
class GFG {
     
public static void Main()
{
    int value = 1001;
    Console.Write(Convert.ToInt32(value.ToString(), 2));
}
}
 
// This code is contributed by SoumikMondal


Javascript


输出:

169

注意:该程序仅适用于整数范围内的二进制数。如果您想使用 20 位或 30 位等长二进制数,您可以使用字符串变量来存储二进制数。

下面是一个类似的程序,它使用字符串变量而不是整数来存储二进制值:

C++

// C++ program to convert binary to decimal
// when input is represented as binary string.
#include 
#include 
using namespace std;
 
// Function to convert binary to decimal
int binaryToDecimal(string n)
{
    string num = n;
    int dec_value = 0;
 
    // Initializing base value to 1, i.e 2^0
    int base = 1;
 
    int len = num.length();
    for (int i = len - 1; i >= 0; i--) {
        if (num[i] == '1')
            dec_value += base;
        base = base * 2;
    }
 
    return dec_value;
}
 
// Driver program to test above function
int main()
{
    string num = "10101001";
    cout << binaryToDecimal(num) << endl;
}

Java

// Java program to convert binary to
// decimal when input is represented
// as binary string.
import java.io.*;
 
class GFG {
 
    // Function to convert binary to decimal
    static int binaryToDecimal(String n)
    {
        String num = n;
        int dec_value = 0;
 
        // Initializing base value to 1,
        // i.e 2^0
        int base = 1;
 
        int len = num.length();
        for (int i = len - 1; i >= 0; i--) {
            if (num.charAt(i) == '1')
                dec_value += base;
            base = base * 2;
        }
 
        return dec_value;
    }
 
    // Driver program to test above function
    public static void main(String[] args)
    {
        String num = new String("10101001");
        System.out.println(binaryToDecimal(num));
    }
}
 
// This code is contribute by Prerna Saini

蟒蛇3

# Python3 program to convert binary
# to decimal when input is
# represented as binary string.
 
# Function to convert
# binary to decimal
def binaryToDecimal(n):
    num = n;
    dec_value = 0;
     
    # Initializing base
    # value to 1, i.e 2 ^ 0
    base1 = 1;
     
    len1 = len(num);
    for i in range(len1 - 1, -1, -1):
        if (num[i] == '1'):    
            dec_value += base1;
        base1 = base1 * 2;
     
    return dec_value;
 
# Driver Code
num = "10101001";
print(binaryToDecimal(num));
 
# This code is contributed by mits

C#

// C# program to convert binary to
// decimal when input is represented
// as binary string.
using System;
 
class GFG {
 
    // Function to convert binary to decimal
    static int binaryToDecimal(String n)
    {
        String num = n;
        int dec_value = 0;
 
        // Initializing base value to 1,
        // i.e 2^0
        int base1 = 1;
 
        int len = num.Length;
        for (int i = len - 1; i >= 0; i--) {
            if (num[i] == '1')
                dec_value += base1;
            base1 = base1 * 2;
        }
 
        return dec_value;
    }
 
    // Driver Code
    public static void Main()
    {
        String num = "10101001";
        Console.WriteLine(binaryToDecimal(num));
    }
}
 
// This code is contribute by mits

PHP

= 0; $i--)
    {
        if ($num[$i] == '1')    
            $dec_value += $base;
        $base = $base * 2;
    }
     
    return $dec_value;
}
 
// Driver Code
$num = "10101001";
echo binaryToDecimal($num), "\n";
 
// This code is contributed by aj_36
?>

Javascript


输出 :

169

使用预定义函数:

C++

#include 
using namespace std;
 
int main()
{
    char binaryNumber[] = "1001";
     
    cout << stoi(binaryNumber, 0, 2);
 
    return 0;
}
// This code is contributed by whysodarkbro

C

#include 
#include 
#include 
 
int main()
{
    char binaryNumber[] = "1001";
    int bin, dec = 0;
     
    bin = atoi(binaryNumber);
 
    for(int i = 0; bin; i++, bin /= 10)
        if (bin % 10)
            dec += pow(2, i);
 
    printf("%d", dec);
 
    return 0;
}
 
// This code is contributed by whysodarkbro

Java

public class GFG {
    public static void main(String args[])
    {
        String binaryNumber = "1001";
        System.out.println(Integer.parseInt(binaryNumber, 2));
    }
}
 
// This code is contributed
// By Yash Kumar Arora

蟒蛇3

n = input()
 
# Convert n to base 2
s = int(n, 2)
 
print(s)

C#

using System;
 
class GFG {
     
public static void Main()
{
    int value = 1001;
    Console.Write(Convert.ToInt32(value.ToString(), 2));
}
}
 
// This code is contributed by SoumikMondal

Javascript


输出 :

9