21xrx.com
2024-11-22 06:52:28 Friday
登录
文章检索 我的文章 写文章
C++实现16进制转10进制
2023-07-05 01:45:20 深夜i     --     --
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进制方法之一。

  
  

评论区

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