📜  在 C++ 中将十进制转换为二进制的内置函数(1)

📅  最后修改于: 2023-12-03 14:50:52.279000             🧑  作者: Mango

在 C++ 中,我们可以使用内置函数 bitset 来将十进制转换为二进制。

bitset

bitset 是 C++ STL 中定义的一种容器,专门用于存储二进制位。它可以接收整数类型的数据,并将其转换为二进制表示形式。

如下为示例代码:

#include <iostream>
#include <bitset>

int main()
{
    int decimal = 10;
    std::bitset<8> binary(decimal);
    std::cout << binary;
    return 0;
}

该代码将十进制数10转换为二进制,并存储到一个长度为8的 bitset 容器中,最终输出该容器的值为 00001010。

需要注意的是, bitset 的长度是在编译期间确定的,不能动态变化。

使用 bitset 进行位运算

与通常的整数类型一样, bitset 也支持位运算符。通过这些位运算符,我们可以对 bitset 中存储的二进制数进行各种位运算。

例如,我们可以通过以下代码实现枚举两个 bitset 中的每一位,并将其进行逻辑“与”操作,并把结果存储在一个新的 bitset 容器中:

#include <iostream>
#include <bitset>

int main()
{
    std::bitset<4> a("0110");
    std::bitset<4> b("1011");
    std::bitset<4> result = a & b;
    std::cout << result;
    return 0;
}

该代码将容器 a 和 b 中的二进制数对应位进行“与”运算,并将结果存储在容器 result 中,最终输出该容器的值为 0010。

除了逻辑“与”运算符“&”之外, bitset 容器还支持其他一系列位运算符:

  • 逻辑“或”运算符“|”
  • 逻辑“异或”运算符“^”
  • 位取反运算符“~”
  • 左移位运算符“<<”
  • 右移位运算符“>>”
总结

使用 bitset 容器可以很方便地将十进制转换为二进制,同时还可以进行各种位运算操作。在实现各种二进制运算时,可以使用 bitset 容器来大大简化代码。