Цитата(e-moe @ Mar 6 2006, 02:33)

Возможно ли с float работать как с обычным 32-х разрядным числом, выполнять операции сдвига, логические операции? А то на выражение:
floal_var=float_var&~0x80000000;
Ругается: Error[Pe031]: expression must have integral type
и всё тут..

Есть два способа:
1. "Не хочет - заставим"
через анонимный union:
union{
float float_var;
long long_var;
};
long_var = long_var & ~0x80000000;
или грязный хак с указателями:
long tmp = *(long*)&float_var & ~0x80000000;
float_var = *(float*)&tmp;
оба метода неявно завязаны на способ представления типов float и long и указателей на них в конкретном процессоре.
2. "Не умеет - научим"
перегрузкой функции operator& (...)
Но это только в C++, и хотя бы один из операндов должен быть экземпляром класса или сама функция, реализующая operator& - членом класса.