Здравствуйте, гость ( Вход | Регистрация )
Tonal | Дата 7.3.2009, 15:25 |
В языке всё последовательно. Ежели тебе нужно округление то явно вызывай соответствующую функцию. Их имеется несколько штук - в зависимости от того что именно ты хочешь получить. |
|
kuler | Дата 6.3.2009, 13:19 |
все таки это тупой момент языка, все должно быть по нормальному а не абы как | |
AD | Дата 6.3.2009, 9:58 |
Ответ 0! В этом и штука: правильный ответ по правилам математики (с округлением к целому, конечно) - -1 (признаю, в вычислениях я действительно непростительно ошибся)! Но компилятор не умеет самостоятельно корректно округлять числа. Компилятор тупо отбрасывает часть после запятой. Для этого следует либо самому написать функцию, либо использовать библиотечную. |
|
AD | Дата 6.3.2009, 1:55 |
Да, виноват, ошибся в вычислениях. Но ответ все-таки 0. |
|
kwisp | Дата 6.3.2009, 0:21 |
1./3 = 0.667 эт как? 2/3~=0.667 1/3 ~=0.332 |
|
AD | Дата 5.3.2009, 23:08 |
так все-таки будет -1? Нет. Правильный ответ 0! 1./3 = 0.667 0.667 - 1 = -0.333 (int)-0.333 = 0 |
|
void* | Дата 5.3.2009, 20:12 |
так все-таки будет -1? | |
kuler | Дата 5.3.2009, 18:47 |
что и требовалось доказать | |
void* | Дата 5.3.2009, 17:51 |
чему будет равно z? int z = 1. / 3 - 1; думаю будет равно -1 |
|
AD | Дата 5.3.2009, 16:13 |
чему будет равно z? int z = 1. / 3 - 1; нулю |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 28.4.2024, 3:50 |