Программой раскладываю вещественное число на 2 части: целая и дробная.
Как вы думаете, какие значения примут переменные edi и des, посчитанные по следующей программе:
unsigned char des;
unsigned char edi;
float var;
void main (void)
{
edi=0x00;
des=0x00;
var=2.12;
edi=(unsigned char)var;
des=(unsigned char)((var-edi)*100);
while (1)
{}
}
Ответ edi=2, а des = 11!!!!!
Блин, в чем тут дело???? Преобразование типов вроде корректно должно проходить. Кто что думает?