二进制转十进制:C++代码实现及详解
二进制转十进制:C++代码实现及详解
将一个二进制数转换为十进制数是一个常见的计算任务。本文将详细介绍转换方法,并提供一个用C++语言实现的代码示例。
转换原理
二进制数的每一位都代表着 2 的某个次幂,从右往左依次是 2^0, 2^1, 2^2, 2^3, ...。例如,二进制数 10101 可以展开为:
1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0
将每一位的结果相加,即可得到十进制数,即 16 + 0 + 4 + 0 + 1 = 21。
C++ 代码实现
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int binary; // 声明一个变量存储二进制数
cout << '请输入一个二进制数:';
cin >> binary; // 输入二进制数
int decimal = 0; // 声明一个变量存储十进制数
int power = 0; // 声明一个变量存储2的次幂
while (binary != 0) {
int digit = binary % 10; // 取出二进制数的最后一位
decimal += digit * pow(2, power); // 计算对应的十进制数并累加到decimal中
binary /= 10; // 将二进制数的最后一位去掉
power++; // 2的次幂加1
}
cout << '转换后的十进制数为:' << decimal << endl; // 输出十进制数
return 0;
}
代码解释
-
声明变量:
binary:存储输入的二进制数。decimal:存储转换后的十进制数,初始值为 0。power:存储 2 的次幂,初始值为 0。
-
循环处理:
- 使用
while循环遍历二进制数的每一位。 digit = binary % 10:取出二进制数的最后一位数字。decimal += digit * pow(2, power):将当前位数字乘以 2 的相应次幂,并将结果累加到decimal中。binary /= 10:将二进制数的最后一位数字去掉。power++:将 2 的次幂加 1。
- 使用
-
输出结果:
- 使用
cout输出转换后的十进制数。
- 使用
总结
本文详细介绍了如何将二进制数转换为十进制数,并提供了一个用C++语言实现的代码示例。文章包含步骤说明和代码解释,帮助您理解二进制转十进制的原理及具体操作。
原文地址: http://www.cveoy.top/t/topic/jA8w 著作权归作者所有。请勿转载和采集!