Побитовые операторы нельзя использовать для переменных с плавающей точкой, потому что внутренняя битовая структура таких чисел отличается от целочисленных, и побитовое смещение не имеет над ними особого смысла. 2
Это вызвано тем, что для языка C не определено представление числа с плавающей точкой. 3