I know that according to the single point standard IEEE the maximum value of a float is 1.11111111111111111111111 *2^127 which converted in decimal is exactly this huge number -> 340282346638528859811704183484516925440.
How came that I get the error "integer literal is too large to be represented in any integer type" when trying to assign this value to a float like this :
int main(){
float biggest=340282346638528859811704183484516925440;
}
Shouldn't the compiler say "ok, this is the maximum value for a single float point number and I have to convert it to the 32bit value 01111111011111111111111111111111" where the first bit is the sign bit, the next eight bits represent the exponent and everything else the mantissa ?