二进制转换为十进制代码实现
时间: 2023-07-27 14:05:47 浏览: 48
将一个二进制数转换为十进制数的方法是将每个二进制位上的数值与对应的权值相乘,然后将所有乘积相加得到十进制数。例如,二进制数 1101 转换为十进制数的计算方法是:
1×2³ + 1×2² + 0×2¹ + 1×2⁰ = 13
以下是一个 Python 代码实现将二进制数转换为十进制数的例子:
```
def binary_to_decimal(binary):
decimal = 0
power = len(binary) - 1
for digit in binary:
decimal += int(digit) * (2 ** power)
power -= 1
return decimal
# 测试
binary_num = "1101"
decimal_num = binary_to_decimal(binary_num)
print(decimal_num) # 输出结果为 13
```
这个函数接受一个二进制字符串作为输入,然后使用一个 for 循环遍历每个二进制位上的数值,并计算权值,最后将所有乘积相加得到十进制数。
相关问题
二进制转换为十进制c++代码
以下是将二进制数转换为十进制数的 C++ 代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int binaryToDecimal(int n) {
int decimalNumber = 0, i = 0, remainder;
while (n != 0) {
remainder = n % 10;
n /= 10;
decimalNumber += remainder * pow(2, i);
++i;
}
return decimalNumber;
}
int main() {
int binaryNumber;
cout << "Enter a binary number: ";
cin >> binaryNumber;
cout << binaryNumber << " in binary = " << binaryToDecimal(binaryNumber) << " in decimal";
return 0;
}
```
该代码首先定义了一个名为 `binaryToDecimal` 的函数,该函数接受一个二进制数作为参数,并将其转换为十进制数。然后,`main` 函数通过用户输入接收一个二进制数,并将其传递给 `binaryToDecimal` 函数进行转换。最后,程序输出二进制数和相应的十进制数。
利用栈实现十进制转换为二进制的代码
以下是利用栈实现十进制转换为二进制的代码(使用C++实现):
```c++
#include <iostream>
#include <stack>
using namespace std;
void decimalToBinary(int decimal) {
stack<int> binaryStack; // 创建一个用于存放二进制数的栈
// 将十进制数转换为二进制数
while (decimal > 0) {
binaryStack.push(decimal % 2); // 将二进制数的每一位压入栈中
decimal /= 2; // 更新十进制数
}
// 输出转换后的二进制数
cout << "Binary: ";
while (!binaryStack.empty()) {
cout << binaryStack.top(); // 输出栈顶元素
binaryStack.pop(); // 弹出栈顶元素
}
cout << endl;
}
int main() {
int decimal;
cout << "Enter a decimal number: ";
cin >> decimal;
decimalToBinary(decimal);
return 0;
}
```
运行程序后,输入一个十进制数,程序将输出其对应的二进制数。