c ++中的十进制到8位二进制转换

bij*_*sla 5 c++ binary

我正在进行十进制到二进制转换.我可以使用char bin_x转换它们[10]; itoa(x,bin_x,2); 但问题是,我想以8位回答.它给我,例如x = 5,所以输出将是101,但我想要00000101.有没有办法在数组的开头追加零?或者是否可以立即获得8位答案?我在C++中这样做

Jer*_*fin 12

在C++中,最简单的方法可能是使用std::bitset:

#include <iostream>
#include <bitset>

int main() { 
    int x = 5;

    std::bitset<8> bin_x(x);
    std::cout << bin_x;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果:

00000101