给定一个二进制数作为输入,我们需要编写一个程序将给定的二进制数转换为等效的十进制数。
例子 :
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