📜  c++ 向量十进制到二进制 - C++ (1)

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

C++ 向量十进制到二进制

在C++中,我们可以使用向量(vector)容器来存储和操作数字。对于将十进制数转换为二进制数,我们可以使用以下方法。

方法一:通过循环和移位运算
#include <iostream>
#include <vector>

// 将十进制数转换为二进制数
std::vector<int> decimalToBinary(int decimal) {
    std::vector<int> binary;
    
    while (decimal > 0) {
        binary.push_back(decimal % 2);
        decimal /= 2;
    }
    
    return binary;
}

int main() {
    int decimal = 10;
    std::vector<int> binary = decimalToBinary(decimal);
    
    // 输出二进制数
    for (int i = binary.size() - 1; i >= 0; i--) {
        std::cout << binary[i];
    }
    
    return 0;
}

此方法通过使用循环和移位运算将十进制数转换为二进制数。我们将余数(0或1)从每个除法操作中添加到向量中,并将十进制数除以2。然后,我们按相反顺序输出向量中的元素,以获取正确的二进制表示。

方法二:使用bitset库
#include <iostream>
#include <bitset>

int main() {
    int decimal = 10;
    
    std::bitset<sizeof(int) * 8> binary(decimal);
    
    // 输出二进制数
    std::cout << binary << std::endl;
    
    return 0;
}

方法二使用bitset库中的类std::bitset来直接将十进制数转换为二进制数。我们可以使用std::bitset类的构造函数将十进制数传递给它,并且可以通过<<运算符直接输出二进制数。

以上是两种常见的将十进制数转换为二进制数的方法。你可以根据自己的需要选择适合的方法来进行转换。