![]() |
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 частей и назвать их степенями двойки в экспоненте |
отсюда следует, что в инсте говорят не в соответствии со стандартами =\
|
я очень не понимаю людей которые учатся в заведениях типа мфюа на программистов и жалуются на уровень преподавания.
|
я учусь в МГУ ВМиК =\
поэтому очень обидно |
Цитата:
|
нам добавили знак степени
|
то что тебе говорят это правильно
просто та часть, что выделяется как отдельная и является знаковым битом это не так принципиально суть одна и та же а по вопросу мона получить адрес и прочитать порядок и потом нужное количество разрядов мантисы |
Цитата:
Цитата:
|
Цитата:
|
чуваки а меня в 9-ом(!) классе с этим трахают
|
тебя в 9м теоремой Лапласа с доказательством для определителя матрицы трахают?) Или Машиной Тьюринга с Нормальными Алгоритмами Маркова???
вот это трахают, а хня про запись чисел в памяти у нас была ток пол-лекции для повторения причём всё это достаточно не муторно... |
Код:
#include <iostream.h> |
| Время: 20:31 |