for C++ programmers - bitset<?> не работает

Уважаемые господа,
здравствуйте!
Подскажите, пожалуйста, почему на кодовую строку языка С++:
a=(std::bitset<8>) b;
или
a=std::bitset<8> b;
Компилятор реагирует сообщением:
"Error E2034 ...: Cannot convert 'bitset<8>' to 'int' in function main()".
Приведу для наглядности фрагмент листинга:
#include <iostream>
#include <fstream>
#include <cmath>
#include <bitset.h>
#include <cstring>
using namespace std;
int a, b;
.........
int main()
{
...
...
a=(std::bitset<8>) b;
...
...
return 1;
}
Что здесь может не хватать, чтобы bitset<8> смог конвертировать десятичную целую
"b"
в двоичный ряд, длиной "8" битов ...?
--
Если Вы получили мое послание, то я был бы очень признателен Вам за отклик.
С уважением,
nick59 - <nick***@i*****.ru>.
я в сишке слаб - и выражение bitset<8> вижу первый раз, но как Вы себе
представляете, это будет выглядеть? Так:
int a,b;
b=1;
a=(std::bitset<8>) b;
printf("\d",a);
и результатом вывода должно быть 00000001 ???
как-то странно...
не похоже на С++