21xrx.com
2025-04-24 12:13:33 Thursday
文章检索 我的文章 写文章
C++编写实现16进制转10进制的代码
2023-06-22 19:27:26 深夜i     16     0
C++ 实现 16进制 10进制 代码

C++是一门非常强大的编程语言,可以用来实现各种实用程序。在计算机科学中,16进制和10进制是两种常见的数字系统,有许多情况下需要将16进制转换成10进制。下面是一段使用C++编写的代码,可以用于16进制转10进制的转换。

#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;
int main(){
  char hex[17];
  long long decimal, place;
  int i = 0, val, len;
  decimal = 0;
  place = 1;
  cout<<"请输入一个16进制数:";
  cin>>hex;
  len = strlen(hex);
  len--;
  for(i = 0;hex[i]!='\0';i++){
    if(hex[i]>='0'&&hex[i]<='9'){
      val = hex[i] - 48;
    }
    else if (hex[i]>='a'&&hex[i]<='f'){
      val = hex[i] - 97 + 10;
    }
    else if (hex[i]>='A'&&hex[i]<='F'){
      val = hex[i] - 65 + 10;
    }
    decimal += val * pow(16, len);
    len--;
  }
  cout<<"转换后的10进制数为:"<<decimal<<endl;
  return 0;
}

这段代码首先定义了一个字符数组变量`hex`,用于存储用户输入的16进制数。接着定义了两个`long long`类型的变量`decimal`和`place`,分别表示最终的10进制数和16进制各个位数的权值。最后定义了一个整型变量`i`、一个字符变量`val`和一个整型变量`len`,其中`val`用于存储从`hex`数组中取出的当前数字,而`i`和`len`用于循环。

在主函数中,首先将`decimal`和`place`的值初始化为0和1,然后输出提示信息,让用户输入一个16进制数。接着计算输入的16进制数的长度,并逆序循环遍历`hex`数组,依次取出每个数字,并计算其对应的10进制数值。最后输出转换后的10进制数。

这段代码实现了16进制转10进制的功能,具有简单明了、易于理解的特点。如果你需要将16进制数转换成10进制数,可以尝试使用这段代码进行实现。

  
  
下一篇: C++教材推荐

评论区

请求出错了