En C++11 normalmente me sirve esto
lo meto en un .h por ejemplo
Código (cpp) [Seleccionar]
#include <bitset>
template <typename T>
std::bitset<sizeof(T)*8> to_bin(const T& src)
{return std::bitset<sizeof(T)*8>(src);}
lo meto en un .h por ejemplo
Código (cpp) [Seleccionar]
#include <iostream>
#include "to_bin.h"
int main()
{
//const char* a = "001010";
//char a = 0xFA;
short a = 32;
//bool a = 1;
std::cout << to_bin(a);
}