Код: Выделить всё
float fOne = 89;
short sOne = *(short *) &fOne;
cout << sOne <<endl;
Код: Выделить всё
float fOne = 89;
short sOne = *(short *) &fOne;
cout << sOne <<endl;
Зависит от компилятора. Гы. И от железа. Внятный компилятор выдаст верхние или нижние 16 бит (или сколько там short у данного компилятора) fp представления числа 89. GNU может выдать вообще что попало, ссылаясь на пункт из стандарта что результат "зависит от реализации".Гость писал(а):и что получим на выходе, и почему?
Код: Выделить всё
float fOne = 89; short sOne = *(short *) &fOne; cout << sOne <<endl;