Hola BajoMX:
Si lo que quieres es simplemente mostrar por pantalla los valores con longitud fija lo puedes hacer así:
for (int i = 3; i >= 0; i--)
if (bin & (1<<i))
cout << 1;
else
cout << 0;
cout << endl;
Esta expresión te mostrará cuatro dígitos (el valor de los 4 bits de menor peso).
Date cuenta de que si bin toma en algún momento el valor 16 (quinto bit, de peso 4) mostraría cuatro ceros
, por ejemplo.