¿Por qué no podemos usar operadores bitwise en tipos de datos flotantes y dobles?

Soy nuevo en c, y aquí estoy tratando de imprimir los valores almacenados en float & double variables en la forma en que están almacenados en la memoria. ¡Pero el comstackdor no me permite usar operadores bitwise en variables flotantes y dobles! Quiero saber por qué no podemos usar operadores bitwise como ‘&’ y ‘|’ operadores en tipos de datos flotantes y dobles, ¿y qué pasa si de alguna manera pudiéramos usarlo? ¿Son métodos alternativos o podemos evitar estos problemas?

Aquí está el código que intenté trabajar,

int main() { float valF = 10; double valD = 10; printf("\n\t%i\t%li\n",valI,sizeof(valF)); for(i = 8*sizeof(valF); i >= 0 ; i--) { printf("%i",(valF & (1<= 0 ; i--) { printf("%i",(valD & (1<<i))? 1 : 0); } } 

El operador binario es el operador bit a bit AND. Se define solo para tipos integrales.

Ese es el caso de todos los operadores bitwise.

El lenguaje C se creó de manera que solo un tipo de datos específico admite funcionalidades específicas. Por ejemplo, en c ++ puede agregar (+) dos variables int (tipo de datos primitivo) pero u no puede agregar dos tipos de datos secundarios (que el usuario ha creado) U tiene que define que + para ese tipo de datos secundarios. El comstackdor hecho de esa manera solo proporciona la funcionalidad que hace que algunos progtwigdores tengan sentido.