Как использовать побитовые операторы для «double» в C ++?

Меня попросили получить внутреннее двоичное представление различных типов на C. Моя программа в настоящее время отлично работает с int, но я хотел бы использовать ее с double и float. Мой код выглядит следующим образом:

template <typename T>
string findBin(T x) {
string binary;
for(int i = 4096 ; i >= 1; i/=2) {
        if((x & i) != 0) binary += "1";
        else binary += "0";
}
    return binary;
}

Программа терпит неудачу, когда я пытаюсь создать экземпляр шаблона, используя "двойное" или "плавающее".

9
задан templatetypedef 20 January 2011 в 03:28
поделиться