-
- А кто вам это сказал? Про "плавучку" компилятор как раз Bill(76 знак., 10.06.2013 18:43)
- А как оно работает? Ведь оно же работает. - mr-x(10.06.2013 16:35)
- Ага, и работает сильно по-разному и не показывает, что работает неправильно... KEIL небось, потому и не заметно (там float работает). - fk0(10.06.2013 18:25)
- Что не работает или работает неправильно - это точно, или предположение? С микрочиповскими компиллерами всегда работало. С CCS 3 и 4 тоже проблем не было. Про остальные не скажу. - mr-x(10.06.2013 19:42)
- Гоню... Всё работает, но. Округлять могут по-разному. Кто-то через round(), кто-то через floor(). Первое замечено для KEIL C51, вроде как через floor() правильно (так все делают). - fk0(10.06.2013 20:15)
- Минус, наверное, в том, что попадись такая "константа" в выражении -- оно всё double станет со всеми вытекающими. И не заметишь. Либо надо (int) писать везде. - fk0(10.06.2013 20:16)
- (int) обязательно. Я всегда был уверен, что приведение к целому отбрасывает дробную часть, поэтому для правильного округления к выражению выше в конце добавлено +0.5. mr-x(159 знак., 10.06.2013 20:30)
- Хм... а я вместо int пишу Bill(43 знак., 11.06.2013 09:03)
- Я тоже что попало пишу в зависимости от контекста. Под (int) подразумевалось явное приведение типа. - mr-x(11.06.2013 10:06)
- Для положительных чисел +0.5, для отрицательных -0.5. - Лeoнид Ивaнoвич(10.06.2013 22:17)
- Хм... а я вместо int пишу Bill(43 знак., 11.06.2013 09:03)
- (int) обязательно. Я всегда был уверен, что приведение к целому отбрасывает дробную часть, поэтому для правильного округления к выражению выше в конце добавлено +0.5. mr-x(159 знак., 10.06.2013 20:30)
- Минус, наверное, в том, что попадись такая "константа" в выражении -- оно всё double станет со всеми вытекающими. И не заметишь. Либо надо (int) писать везде. - fk0(10.06.2013 20:16)
- Гоню... Всё работает, но. Округлять могут по-разному. Кто-то через round(), кто-то через floor(). Первое замечено для KEIL C51, вроде как через floor() правильно (так все делают). - fk0(10.06.2013 20:15)
- Что не работает или работает неправильно - это точно, или предположение? С микрочиповскими компиллерами всегда работало. С CCS 3 и 4 тоже проблем не было. Про остальные не скажу. - mr-x(10.06.2013 19:42)
- Скомпилируйте и посмотрите: константа там в этом месте программы или блок вычислений с вызовом библиотечной функции? - rezident(10.06.2013 18:23)
- Константа, конечно. Всегда была. Но Вы меня смутили и я перепроверил. - mr-x(10.06.2013 19:05)
- Ага, и работает сильно по-разному и не показывает, что работает неправильно... KEIL небось, потому и не заметно (там float работает). - fk0(10.06.2013 18:25)