-
- Си. Мне скорость не важна вот прям сильно: вывести для отладки что прилетело по NTP, там I32Q32; Dingo(110 знак., 17.06.2019 08:51)
- I32Q32 - что за способ хранения? Ale3000(475 знак., 17.06.2019 09:30 - 10:55)
- Спасибо. - Dingo(17.06.2019 10:02)
- Какой ужос. Не говоря уже об ошибке, из-за которой это просто не работает. А формат времени см. в педивикии --> - SciFi(17.06.2019 09:32, ссылка)
- Dingo нигде не говорил, что он время хочет выводить. Ale3000(72 знак., 17.06.2019 09:54)
- Плавучка перед сдвигом приводится к целому. Если целое сдвинуть вправо на 32, от него ничего не останется. - SciFi(17.06.2019 10:04)
- 1e1 - плавучка что-ли? Тогда надо (long)1e1. Плавучку нигде стараюсь не использовать. - Ale3000(17.06.2019 10:22)
- 1e1 - это double. Лучше 10, 100, 1000000. Ну а плавучка на STM32F4, к примеру, ничего не стоит. Жаль только, sprintf не умеет без double, там STM32F4 считает по старинке - на пальцах. - SciFi(17.06.2019 10:43)
- Да. Только нули не люблю считать в 1000000000. Поэтому пишу (long)1e9. - Ale3000(17.06.2019 10:53)
- 1e1 - это double. Лучше 10, 100, 1000000. Ну а плавучка на STM32F4, к примеру, ничего не стоит. Жаль только, sprintf не умеет без double, там STM32F4 считает по старинке - на пальцах. - SciFi(17.06.2019 10:43)
- 1e1 - плавучка что-ли? Тогда надо (long)1e1. Плавучку нигде стараюсь не использовать. - Ale3000(17.06.2019 10:22)
- Плавучка перед сдвигом приводится к целому. Если целое сдвинуть вправо на 32, от него ничего не останется. - SciFi(17.06.2019 10:04)
- Dingo нигде не говорил, что он время хочет выводить. Ale3000(72 знак., 17.06.2019 09:54)
- float fractional = 1.0f / (1ULL << 32) * Q32; "Или нет?" © - SciFi(17.06.2019 09:20)
- Сэр, но ведь I32Q32 точнее чем double, а вы по float хотите передвигать - lloyd(17.06.2019 09:28)
- Сэр, 7 десятичных знаков, то есть точнее, чем 1 микросекунда. Думаю, ему хватит. И ничего я там не хочу передвигать. (1ULL << 32) - это чуть более 4 млрд, перед делением приводится к float. Логично? - SciFi(17.06.2019 09:29 - 09:37)
- Спасибо. - Dingo(17.06.2019 10:02)
- Сэр, 7 десятичных знаков, то есть точнее, чем 1 микросекунда. Думаю, ему хватит. И ничего я там не хочу передвигать. (1ULL << 32) - это чуть более 4 млрд, перед делением приводится к float. Логично? - SciFi(17.06.2019 09:29 - 09:37)
- Сэр, но ведь I32Q32 точнее чем double, а вы по float хотите передвигать - lloyd(17.06.2019 09:28)
- Перевести в плавающую? sprintf(sbuf, "%s %0.3f l",statistic_name[num][se.ses.language],((double)glob_stat.PumpVolume)/10000); - VLLV(17.06.2019 09:12)
- Умножать на 10 и дергать целую часть до достижения максимальной точности слишком плохой способ? - lloyd(17.06.2019 09:13)
- I32Q32 - что за способ хранения? Ale3000(475 знак., 17.06.2019 09:30 - 10:55)
- Си. Мне скорость не важна вот прям сильно: вывести для отладки что прилетело по NTP, там I32Q32; Dingo(110 знак., 17.06.2019 08:51)