21xrx.com
2024-11-05 19:40:05 Tuesday
登录
文章检索 我的文章 写文章
如何在C++中输出一个数的二进制?
2023-07-11 18:10:13 深夜i     --     --
C++ 输出 二进制

在C++中,输出一个数的二进制十分简单而且有很多种不同的方法。在本文中,我们将介绍两种主要的方法:使用位运算符和使用bitset库。

使用位运算符

首先,我们需要了解一些关于位运算符的基本知识。在C++中,我们常见的位运算符包括位与(&)、位或(|)、异或(^)、左移(<<)和右移(>>)。其中左移运算符(<<)将二进制数向左移动n位,右移运算符(>>)将二进制数向右移动n位。

为了输出一个数的二进制,我们可以使用右移运算符(>>)和位与运算符(&)。我们可以将输入的十进制数不断右移一位,并使用位与运算符和1进行比较。如果结果为1,那么输出1,否则输出0。如下所示的代码展示了这个过程:


#include <iostream>

using namespace std;

void printBinary(unsigned int n) {

  for (int i = 31; i >= 0; i--) {

    if ((n >> i) & 1)

      cout << "1";

     else

      cout << "0";

    

  }

}

int main() {

  unsigned int num = 10;

  cout << "The binary representation of " << num << " is: ";

  printBinary(num);

  return 0;

}

在上面的代码中,我们定义了一个名为printBinary的函数,它将输入的十进制数转换为二进制并将其打印到屏幕上。我们使用了31个迭代来输出32位的整数(unsigned int)。在每个迭代中,我们将输入的数右移i位并使用位与运算符(&)和1进行比较。如果结果为1,就表示这一位为1,否则表示为0,我们将其打印到屏幕上即可。

使用bitset库

C++中另一个方便输出二进制数的方式是使用bitset库。这个库提供了一个名为bitset的类,它可以将二进制数据存储为一个位集合。我们可以使用它的to_string()函数将其转换为字符串并输出到屏幕上。

下面是使用bitset库实现输出二进制数的代码:


#include <iostream>

#include <bitset>

using namespace std;

int main() {

  unsigned int num = 10;

  cout << "The binary representation of " << num << " is: ";

  bitset<32> binary(num);

  cout << binary.to_string() << endl;

  return 0;

}

在上面的代码中,我们使用了bitset类将十进制数转换为二进制数并存储在了binary对象中。我们通过调用to_string()函数将其转换为二进制字符串,并将其输出到屏幕上。

总结

输出一个数的二进制在C++中非常简单。我们可以使用位运算符和bitset库两种方法来实现这个功能。无论使用哪种方法,在输出二进制数的过程中,我们需要理解一些基本的位运算符和其中的运算规则。

  
  

评论区

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