![]() |
float<->int
Нужно написать прогу на c++ которая переводила бы из float'а в int и наоборот.Дело в том что писать надо не так:
Код:
float a=5.8; |
b=static_cast<int>(a)
почему так как ты написал не подходит? вообще общая формула приведения типов: x=static_cast<тип>(y) |
Цитата:
|
тобишь если у тебя есть к примеру число:
1|1379280000|0|02 --> -0.137928e2 то тебе его надо перевести в: 1|000000000013 ??? |
Цитата:
|
Недавно как раз такую писал. Т.к. флоат занимает 32 бита, аргумент x в действительности является флоатом, просто по условию поставленной передо мной задачи этот тип использовать было вообще нельзя..
Код:
__int32 IntFormFloat(DWORD x) { |
Код:
static inline int double2int(double d) |
scrat: Ай-ай-ай я же сегодня подробно расписал как устроен float!
Цитата:
|
вещественное число
первая часть - знак числа, вторая - число, третья - знак степени, четвёртая - степень сори с double перепутал =\ |
float и double состоят из трех частей. http://en.wikipedia.org/wiki/IEEE_754
ты разделяешь одну из частей на две.. с тем же успехом можно экспоненту разделить на 8 частей и назвать их степенями двойки в экспоненте |
| Время: 18:20 |