![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Как перевести миллисекунды в SYSTEMTIME?
Не влазит в переменную ullMilliSec столько миллисекунд.... Что делать? |
||||
|
|||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Получаешь кол-во миллисекунд с 01.01.1970, кажется. С этой величиной удобнее всего работать, если нужно считать время, прошедшее с некого момента. |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Мне миллисекунды надо в SYSTEMTIME перегнать, а не считать разницу.
|
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Смотрим тут
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Спасибо, буду разбираться...
|
|||
|
||||
| 586 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
Там надо явно указать, что число 64-битное.
Добавлено через 6 минут и 38 секунд Или конвертировать его:
|
||||
|
|||||
| Alca |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
586, спасибо. Ворниг ушел, но результат у меня получаеться не правильный.
Где ошибка? Должно быть:
Это сообщение отредактировал(а) Alca - 15.6.2009, 15:34 Присоединённый файл ( Кол-во скачиваний: 5 )
__________.PNG 19,49 Kb |
||||||
|
|||||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
|
|||
|
||||
| korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 2 Всего: 14 |
Alca,
Добавлено через 32 секунды -------------------- korbian © |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Спасибо!!! Вроде пашет.
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
Перемещено в "С/C++ общие вопросы"
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
А чего с этим ворнингом делать?
Кастануть его что ли? Добавлено через 42 секунды Поставил всем по кресту.... |
|||
|
||||
| 586 |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
Миллисекунд не может быть более 999; секунд, минут не может быть более 59; часов не более 23 дней не более 29 (30 дней в месяце) месяцев не более 11 Чтобы возникло переполнение, нужно число, более 65535. Следовательно, ошибки нет, и варнинг можно проигнорить.
Это сообщение отредактировал(а) 586 - 15.6.2009, 17:06 |
||||||
|
|||||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
586, ты волшебник
|
|||
|
||||
| GremlinProg |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 3 Всего: 106 |
предупреждения прикрывают в крайних случаях, когда нет возможности его обойти в данном случае, нужно просто явно "обрезать" значение:
любой, кто будет читать эту конструкцию поймет ее как надо, в том числе и оптимизатор, который делает вывод, что старшие биты переменной не используются "плавающие" вычисления, в таком случае, могут быть оптимизированы, если потребуется, например: "длинная" операция 64-битного сложения может быть заменена на "короткую" - 32-битную и т.п. прикрывая такое предупреждение, оптимизатор этого сделать не сможет, при всем желании и возможностях -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
ясненько, значит закастить
|
|||
|
||||
| 586 |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
На оптимизатор это никак не влияет. И на машинный код. Компилятор автоматически конвертирует ULONGLONG в WORD, и предупреждает, что старшая часть переменной теряется.
В данном случае было много предупреждений, чтобы не запутывать код приведениями типов, был отключен варнинг в пределах одной функции. |
||||||
|
|||||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 10 Всего: 146 |
Правда, на gcc и других компиляторах с блокировкой варнингов будет проблема.
В данном случае нужно приводить типы. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |