21xrx.com
2025-04-06 03:03:11 Sunday
文章检索 我的文章 写文章
C++实现16进制转10进制
2023-07-05 01:45:20 深夜i     20     0
C++ 16进制 10进制 转换 实现

C++是一种流行的编程语言,广泛应用于各种不同的应用中。16进制和10进制是两种常见的数字进制,在C++中,可以使用代码来将16进制转换为10进制。

首先,需要定义一个函数,接受一个16进制数作为输入,返回对应的10进制数。下面是一个示例函数:

int hexToDec(const std::string& hex) {
  int dec = 0;
  for (char c : hex) {
    if (isdigit(c)) {
      dec = dec * 16 + c - '0';
    } else {
      dec = dec * 16 + toupper(c) - 'A' + 10;
    }
  }
  return dec;
}

在这个函数中,首先声明了一个变量`dec`,用于保存10进制数的值。然后,一个循环遍历输入的16进制字符串。在循环中,首先检查字符是否是一个数字,如果是数字,则将其转换为10进制并添加到返回值中。

如果不是数字,则假定它是一个字母,将其转换为大写,并使用`toupper()`函数来转换。然后,将其转换为对应的10进制数,从而得到最终结果。

现在,可以使用该函数来将16进制数转换为10进制数。下面是一个示例程序:

#include <iostream>
int hexToDec(const std::string& hex);
int main() {
  std::string hex = "1a";
  int dec = hexToDec(hex);
  std::cout << hex << " in decimal is " << dec << std::endl;
  return 0;
}
int hexToDec(const std::string& hex) {
  int dec = 0;
  for (char c : hex) {
    if (isdigit(c)) {
      dec = dec * 16 + c - '0';
    } else {
      dec = dec * 16 + toupper(c) - 'A' + 10;
    }
  }
  return dec;
}

在这个程序中,定义了一个字符串变量`hex`,然后调用`hexToDec()`函数来将其转换为10进制数,并将结果存储在整数变量`dec`中。最后,使用`cout`语句将16进制和对应的10进制输出到控制台。

在实际应用中,可以将该函数用于不同的应用程序,将16进制数转换为10进制数。这个函数实现简单,易于理解,是C++中常用的16进制转10进制方法之一。

  
  

评论区