21xrx.com
2024-12-27 17:17:21 Friday
登录
文章检索 我的文章 写文章
C++中的进制转换
2023-07-04 23:37:17 深夜i     --     --
C++ 进制转换 二进制 八进制 十六进制

C++是一种功能强大的编程语言,它支持在不同进制之间进行转换。在计算机科学中,最常见的进制是十进制、二进制、八进制和十六进制。在本文中,我们将介绍如何在C++中进行进制转换。

1. 十进制转换为二进制、八进制和十六进制

十进制数可以使用toBinary、toOctal和toHex方法转换为二进制、八进制和十六进制。


#include <iostream>

using namespace std;

int main()

{

  int decimal = 10;

  cout << "Binary: " << bitset<8>(decimal).to_string() << endl;

  cout << "Octal: " << oct << decimal << endl;

  cout << "Hexadecimal: " << hex << decimal << endl;

  return 0;

}

在上述代码中,通过调用C++中的bitset方法,我们将十进制数转换为8位二进制数。我们也可以使用oct和hex方法将十进制数转换为八进制和十六进制数。输出如下:


Binary: 00001010

Octal: 12

Hexadecimal: a

2. 二进制、八进制和十六进制转换为十进制

我们可以使用C++中的stol函数将二进制、八进制和十六进制转换为十进制数。


#include <iostream>

#include <string>

using namespace std;

int main()

{

  string binary = "1010";

  string octal = "12";

  string hex = "a";

  cout << "Binary: " << stol(binary, nullptr, 2) << endl;

  cout << "Octal: " << stol(octal, nullptr, 8) << endl;

  cout << "Hexadecimal: " << stol(hex, nullptr, 16) << endl;

  return 0;

}

在上述代码中,我们使用stol函数将二进制数1010、八进制数12和十六进制数a转换为十进制数。采用nullptr作为第二个参数,指定函数将不对剩余的字符串进行解析。而第三个参数则指定原数的进制。输出如下:


Binary: 10

Octal: 10

Hexadecimal: 10

C++中的进制转换非常简单,但需要注意的是在进行转换时需要选择合适的函数,同时写出正确的进制数。只要遵循这些原则,就能够轻松地进行进制转换。

  
  

评论区

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