-
- Если temp переменная, то первое слагаемое вычислять на этапе компиляции не будет. Второе - должен. - mr-x(16.12.2013 13:13)
- Похоже что так. А с чего он хочет сразу 4*16/20 посчитать? - POV(16.12.2013 13:17)
- Не понял, кто чего хочет? Компилятор считает на этапе компиляции до тех пор, пака не встретит переменную. Если переменная в начале - тады ой со всеми последующими операциями. mr-x(366 знак., 16.12.2013 13:24)
- Ясно. Пасиб. - POV(16.12.2013 13:29)
- Гы-гы! В РЖД арифметике не учат? :-))) - SciFi(16.12.2013 13:19)
- Я не хочу чтобы смысл этих циферок потерялся. А в комменты выносить - рано или поздно снесу )) - POV(16.12.2013 13:20)
- Не понял, кто чего хочет? Компилятор считает на этапе компиляции до тех пор, пака не встретит переменную. Если переменная в начале - тады ой со всеми последующими операциями. mr-x(366 знак., 16.12.2013 13:24)
- Похоже что так. А с чего он хочет сразу 4*16/20 посчитать? - POV(16.12.2013 13:17)
- Что значит "не вычисляет"? А что ему остаётся? Считает в рантайме? Напиши const tempf = temp * 4 * 16/20.0 + 4095 * 4/20.0 - fk0(16.12.2013 13:10)
- А что такое temp? Если не макрос -- ничего не выйдет. - fk0(16.12.2013 13:11)
- Все деления и умножения в реалтайме считает... POV(138 знак., 16.12.2013 13:14)
- Всё должно работать: temp * (4 * 16) / 20 + 4095 * 4 / 20. 1 умножение, 1 деление, одно сложение. - SciFi(16.12.2013 13:18)
- А деление-то зачем если на этапе компиляции посчитать число можно? Останется одно умножение и одно сложение. - POV(16.12.2013 13:21)
- Здрассте! А как же на 3,2 умножать без плавучки и без деления? - SciFi(16.12.2013 13:24)
- Взял константы в скобочки и первый из множителей с ".0" поставил. Намана стало. - POV(16.12.2013 13:30)
- Тут или умножение в плавучке будет, или если есть приведение к целому, то ошибка округления. Я лично против плавучки в медленных вычислениях ничего не имею, но тут кому как. Ошибку округления можно уменьшить до приемлемого уровня как я писал выше, mr-x(265 знак., 16.12.2013 13:42)
- Перешёл на плавучку? Какой же это реалтайм? Целочисленное деление пошустрее должно быть. - SciFi(16.12.2013 13:33)
- Вычисление раз в секунду. - POV(16.12.2013 13:44)
- Ну а из-за чего весь сыр-бор тогда? Или просто поговорить? :-) - SciFi(16.12.2013 14:06)
- Обидно было, что не вычисляло сразу.Теперь вычисляет. - POV(16.12.2013 14:10)
- Ну а из-за чего весь сыр-бор тогда? Или просто поговорить? :-) - SciFi(16.12.2013 14:06)
- Вычисление раз в секунду. - POV(16.12.2013 13:44)
- Взял константы в скобочки и первый из множителей с ".0" поставил. Намана стало. - POV(16.12.2013 13:30)
- Здрассте! А как же на 3,2 умножать без плавучки и без деления? - SciFi(16.12.2013 13:24)
- А деление-то зачем если на этапе компиляции посчитать число можно? Останется одно умножение и одно сложение. - POV(16.12.2013 13:21)
- Всё должно работать: temp * (4 * 16) / 20 + 4095 * 4 / 20. 1 умножение, 1 деление, одно сложение. - SciFi(16.12.2013 13:18)
- Все деления и умножения в реалтайме считает... POV(138 знак., 16.12.2013 13:14)
- А что такое temp? Если не макрос -- ничего не выйдет. - fk0(16.12.2013 13:11)
- 1) temp - это чо? 2) Может лучше константы в плавучке, и уже перед присвоением переводить в целое? - mr-x(16.12.2013 13:09)
- А поподробнее? Кейлы разные бывают, константы тоже. - SciFi(16.12.2013 13:08)
- Если temp переменная, то первое слагаемое вычислять на этапе компиляции не будет. Второе - должен. - mr-x(16.12.2013 13:13)