21xrx.com
2024-12-22 23:33:25 Sunday
登录
文章检索 我的文章 写文章
C++编写实现16进制转10进制的代码
2023-06-22 19:27:26 深夜i     --     --
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++教材推荐

评论区

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