📅  最后修改于: 2023-12-03 14:50:52.279000             🧑  作者: Mango
在 C++ 中,我们可以使用内置函数 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 容器中:
#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 容器来大大简化代码。