Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Про приведение float к int.
Отправлено
Dikoy
23 апреля 2008 г. 12:59
Допустим, такой код:
float i = 25.78;
int j = 0;
j = (int)i;
В j будет целая часть? То есть 25? Или округлённая? :)
Составить ответ
|
Вернуться на конференцию
Ответы
j = (int)roundf( i )
—
Oldring
(23.04.2008 16:17:4
91.76.16.14
, 578 байт)
MSDN не знает roundf(), но знает round()
—
koyodza
(23.04.2008 16:21:3
195.214.197.203
,
пустое
)
MS всегда отставали от стандата
—
Oldring
(23.04.2008 16:27:50
91.76.16.14
, 468 байт)
На старых компиляторах - (int)floorf(x + 0.5f)
—
Oldring
(23.04.2008 16:29:12
91.76.16.14
,
пустое
)
j = (int)i; - целая часть, j = (int)i+0,5; - округленная по стандартным правилам математики(-)
—
misyachniy
(23.04.2008 14:30:9
195.10.210.194
,
пустое
)
ни разу не угадал - (int)(i+0.5) - скобок надо добавить.
—
SM
(23.04.2008 14:34:43
80.92.255.53
,
пустое
)
Поленился скобки добивать :-) Я в программе всегда ставлю, даже лишние. Точнее лишних скобок не бывает.
—
misyachniy
(23.04.2008 14:44:28
195.10.210.194
,
пустое
)
Ок, понятно. Тока прибавление 0,5 сжирает 8% флеша тиньки, так что обойдусь простым отбрасыванием дроби :))
—
Dikoy
(23.04.2008 17:13:19
87.244.18.26
,
пустое
)
Может j = (int)(i+0.5); ?
—
Artem-1.6E-19
(23.04.2008 14:34:11
209.160.64.220
,
пустое
)
ближайшее меньшее целое
—
koyodza
(23.04.2008 13:47:13
195.214.197.203
, 124 байт)
ошибочка: к ближайшему меньшему по модулю
—
koyodza
(23.04.2008 16:02:27
195.214.197.203
, 319 байт)
неа
—
манипулятор
(23.04.2008 14:02:33
208.73.49.114
, 67 байт)
:=))) а может лучше e/pi ?
—
koyodza
(23.04.2008 15:14:2
195.214.197.203
,
пустое
)
Это что еще за новости? Прибавлять надо единицу в двоичном разряде, на один разряд более младшим, чем тот, до кторого округляют.
—
SM
(23.04.2008 14:10:46
80.92.255.53
,
пустое
)
математика не помню за какой класс
—
манипулятор
(23.04.2008 15:22:24
208.73.49.114
, 244 байт)
математику тебе поп в ЦПШ преподавал? С такими правилами округления?
—
SM
(23.04.2008 17:41:36
80.92.255.53
,
пустое
)
конечно первый результат верный
—
koyodza
(23.04.2008 15:38:25
195.214.197.203
, 217 байт)
меня в школе учили иначе
—
манипулятор
(23.04.2008 15:47:24
208.73.49.114
,
пустое
)
Ответ:
—
koyodza
(23.04.2008 15:50:41
195.214.197.203
,
пустое
,
ссылка
)
Ответ:
—
манипулятор
(23.04.2008 15:54:14
208.73.49.114
,
пустое
,
ссылка
)
это т.н. "банковское округление", не математическое
—
koyodza
(23.04.2008 16:06:48
195.214.197.203
, 293 байт)
Это не банковское, а цэковское округление - они на пленуме ЦК такое правило приняли и пытаются нести его в массы через своих мастурбаторов :))
—
MBedder
(23.04.2008 16:19:42
80.92.96.19
,
пустое
)
Это манипулятор просто читать не умеет. По его ссылке описано обычное несмещенное округление к четному.
—
Oldring
(23.04.2008 18:25:48
91.76.16.14
,
пустое
)
В партийной или церковно-приходской? :))
—
MBedder
(23.04.2008 15:49:17
80.92.96.19
,
пустое
)
Редкостный кретин :))
—
MBedder
(23.04.2008 15:37:53
80.92.96.19
,
пустое
)
а какая же? конечно целая безо всяких округлений.
—
POV
(23.04.2008 13:26:23
213.137.239.62
,
пустое
)
man round
—
Artem-1.6E-19
(23.04.2008 13:03:52
209.160.64.220
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите 2 и 3:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru