首页 > 解决方案 > C ++:用于转换的库,例如:二进制 -> 十进制 | 二进制 -> 十六进制等

问题描述

对于我的项目,我需要转换一些数字,例如:

  1. 二进制 --> 十进制
  2. 十进制--> 二进制
  3. 二进制 --> 十六进制
  4. 十六进制 --> 二进制
  5. ETC...

我试图创建一些功能,但它的操作时间很长,我立即需要一个转换器。

有人知道这样做的图书馆,那么,我在哪里可以找到它。

标签: c++converters

解决方案


您可以使用 stoi 函数将二进制/十六进制/八进制格式的值转换为十进制数:

#include <iostream>
#include <string>

int main() {
  std::string hex("BAF");
  std::string bin("1111");
  std::string octal("734");

  std::cout << "Hex: " << hex << " => " << std::stoi(hex, 0, 16) << std::endl;
  std::cout << "Bin: " << bin << " => " << std::stoi(bin, 0, 2) << std::endl;
  std::cout << "Octal: " << octal << " => " << std::stoi(octal, 0, 8)
            << std::endl;
}

对于其他转换(从十进制到二进制/十六进制/八进制),您应该实现自己的函数。您可以使用 std::bitset 来帮助您。


推荐阅读