21xrx.com
2025-06-28 10:27:38 Saturday
登录
文章检索 我的文章 写文章
C++十进制转二进制、八进制、十六进制
2023-07-04 21:18:55 深夜i     13     0
C++ 十进制 二进制 八进制 十六进制

C++是一种广泛使用的编程语言,具有很多实用的功能。其中之一就是支持数值转换,包括将十进制数转换为二进制、八进制、十六进制等进制数。下面就介绍一下在C++中进行这些数值转换的具体方法。

1. 十进制转二进制

在C++中,可以使用位运算符来将十进制数转换为二进制数。具体做法是不断取余(除以2),从低位到高位逐一记录结果。例如,我们可以通过以下程序将数字15转换为二进制数:

#include <iostream>
using namespace std;
void decimalToBinary(int n) {
  if (n > 1) {
    decimalToBinary(n / 2);
  }
  cout << n % 2;
}
int main() {
  int decimal = 15;
  cout << "The binary representation of " << decimal << " is: ";
  decimalToBinary(decimal);
  return 0;
}

在该程序中,我们使用递归函数`decimalToBinary`将数字15转换为二进制数。该函数的递归过程不断将输入数进行整除操作,直到不能再整除为止,然后从低位到高位依次输出余数。

2. 十进制转八进制

C++中的标准库提供了一个函数`oct`,该函数可以将十进制数转换为八进制数。例如,我们可以通过以下程序将数字15转换为八进制数:

#include <iostream>
using namespace std;
int main()
  int decimal = 15;
  cout << "The octal representation of " << decimal << " is: " << oct << decimal;
  return 0;

在该程序中,我们使用了C++标准库提供的`oct`函数将数字15转换为八进制数。需要注意的是,在调用该函数前,需要先输出`oct`,这样C++才会将其后面的数字解析为八进制数。

3. 十进制转十六进制

和八进制转换类似,C++中的标准库也提供了一个函数`hex`,该函数可以将十进制数转换为十六进制数。例如,我们可以通过以下程序将数字15转换为十六进制数:

#include <iostream>
using namespace std;
int main()
  int decimal = 15;
  cout << "The hexadecimal representation of " << decimal << " is: " << hex << decimal;
  return 0;

在该程序中,我们使用了C++标准库提供的`hex`函数将数字15转换为十六进制数。和转换为八进制一样,需要先输出`hex`,这样C++才会将其后面的数字解析为十六进制数。

综上所述,C++提供了多种方法将十进制数转换为其他进制数。我们可以根据具体的需求选择不同的方法。无论是位运算、C++标准库函数还是其他算法,都可以实现高效的数值转换。

  
  

评论区