Unexpected float behaviour in C with AVR atmega8
问题 I've been trying to figure out why I cannot get a sensible value from multiplying an unsigned int with a float value. Doing something like 65535*0.1 works as expected but multiplying a float with a uint from memory creates mad values. I have a function that reads an ADC and returns an uin16_t. With this value I am printing it to a 4-digit led-display, which is working fine. Multiplying the same value with 1.0 returns something different entirely (it's too large for my display so I don't