21xrx.com
2024-12-22 23:55:52 Sunday
登录
文章检索 我的文章 写文章
C++ 转换为十进制
2023-07-09 15:25:11 深夜i     --     --
C++ 十进制 转换

C++是一种常用的编程语言,用于开发各种类型的软件和应用程序。在C++中,转换数字和字符串到不同的进制是一个常见的任务。其中,将一个数字转换为十进制是常见的操作。

十进制是我们常用的数字系统,也被称为基数为10。在十进制中,每个数字的位置代表一个权值,权值是10的幂。例如,数字123在十进制中的值是1*10^2 + 2*10^1 + 3*10^0 = 100 + 20 + 3 = 123。

在C++中,可以使用多种方法将数字转换为十进制。下面是一个示例程序,演示如何将16进制数转换为10进制数:

#include

#include

using namespace std;

int hexToDec(string hex){

  int dec = 0;

  int len = hex.size();

  for (int i = 0; i < len; i++){

    char digit = hex[i];

    if (digit >= '0' && digit <= '9'){

      // 数字0到9

      dec += (digit - '0') * pow(16, len - i - 1);

    }

    else if (digit >= 'A' && digit <= 'F'){

      // 字母A到F

      dec += (digit - 'A' + 10) * pow(16, len - i - 1);

    }

    else if (digit >= 'a' && digit <= 'f'){

      // 字母a到f

      dec += (digit - 'a' + 10) * pow(16, len - i - 1);

    }

  }

  return dec;

}

int main(){

  string hex = "ABCD";

  int dec = hexToDec(hex);

  cout << hex << " in decimal is: " << dec << endl;

  return 0;

}

该程序首先定义了一个名为hexToDec的函数,将参数hex作为16进制数的字符串输入。它在函数体内使用了for循环来遍历字符串的每个字符。如果字符在0到9之间,则可以将其转换为相应的数字。如果字符在A到F或a到f之间,则可以将其转换为相应的十六进制数字。将这些数字相加,最终得到该16进制数的十进制值。

在该示例程序中,输入的16进制数为ABCD。该程序将其转换为十进制数43981,并输出结果。如果您有需要将不同进制数字转换为十进制数的操作,可以考虑使用类似的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复