二进制转十进制: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;
}

代码解释

  1. 声明变量:

    • binary:存储输入的二进制数。
    • decimal:存储转换后的十进制数,初始值为 0。
    • power:存储 2 的次幂,初始值为 0。
  2. 循环处理:

    • 使用 while 循环遍历二进制数的每一位。
    • digit = binary % 10:取出二进制数的最后一位数字。
    • decimal += digit * pow(2, power):将当前位数字乘以 2 的相应次幂,并将结果累加到 decimal 中。
    • binary /= 10:将二进制数的最后一位数字去掉。
    • power++:将 2 的次幂加 1。
  3. 输出结果:

    • 使用 cout 输出转换后的十进制数。

总结

本文详细介绍了如何将二进制数转换为十进制数,并提供了一个用C++语言实现的代码示例。文章包含步骤说明和代码解释,帮助您理解二进制转十进制的原理及具体操作。

二进制转十进制:C++代码实现及详解

原文地址: http://www.cveoy.top/t/topic/jA8w 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录