Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2014, 15:27   #1
DakotaZ
Пользователь
 
Регистрация: 31.07.2014
Сообщений: 48
По умолчанию time(0)*1000 не вмещается в long int

Собственно суть вопроса отображена в названии темы.
Пример:
Код:
long int t_ms = time(0)*1000;
std::cout << t_ms;
Выводит отрицательное число, а должно выдавать большое положительное.
Подскажите решение, что бы переменная вместила столько в себя.
Заранее спасибо.
DakotaZ вне форума Ответить с цитированием
Старый 31.07.2014, 16:04   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

А чего вы хотели то? тайм, по-умолчанию, возвращает
Код:
инт64 –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
а у вас
Код:
лонг инт –2,147,483,648 to 2,147,483,647
Не находите, что немного меньше?
p51x вне форума Ответить с цитированием
Старый 31.07.2014, 16:09   #3
DakotaZ
Пользователь
 
Регистрация: 31.07.2014
Сообщений: 48
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А чего вы хотели то? тайм, по-умолчанию, возвращает
Код:
инт64 –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
а у вас
Код:
лонг инт –2,147,483,648 to 2,147,483,647
Не находите, что немного меньше?
Спасибо.
Проблема решена.
Код:
__int64 start = time(0)*1000;
DakotaZ вне форума Ответить с цитированием
Старый 02.08.2014, 00:05   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://rextester.com/GFLA69991

Код:
//Title of this code

#include <iostream>
#include <time.h>

int main()
{
    std::cout << "Hello, world!\n";
    
    unsigned long int t_ms = time(0)*1000;
    std::cout << t_ms<<"\n";

}
_Bers вне форума Ответить с цитированием
Старый 19.08.2014, 13:06   #5
DakotaZ
Пользователь
 
Регистрация: 31.07.2014
Сообщений: 48
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
http://rextester.com/GFLA69991

Код:
//Title of this code

#include <iostream>
#include <time.h>

int main()
{
    std::cout << "Hello, world!\n";
    
    unsigned long int t_ms = time(0)*1000;
    std::cout << t_ms<<"\n";

}
К сожалению, в моем компиляторе(mingw32) под винду этот вариант не сработал.
Хотя с другой стороны, не понятно где это должно сработать, unsigned long int стандартно ведь принимает от 0 до 4.294.967.295, а для unix_timestamp нужно больше
Даже по Вашей ссылке он выдает 3984897208, когда должен выдавать что-то вроде 1408439252000.
DakotaZ вне форума Ответить с цитированием
Старый 19.08.2014, 21:31   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Попробуйте unsigned long long
waleri вне форума Ответить с цитированием
Старый 20.08.2014, 16:13   #7
DakotaZ
Пользователь
 
Регистрация: 31.07.2014
Сообщений: 48
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Попробуйте unsigned long long
Работает)
Не знал что можно писать long long, попробовал long long long но выдал ошибку I'ts too many for GCC
А где посмотреть такие комбинации и их вместимости?
DakotaZ вне форума Ответить с цитированием
Старый 20.08.2014, 17:06   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

тут можно
раздел Fundamental data types

там выделены части которые можно опускать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить является ли число long int отрицательным. Pein95 Общие вопросы C/C++ 3 04.03.2014 14:14
как с ним работать > Long Int Rain_Walker Общие вопросы C/C++ 2 17.10.2012 21:17
Qt: Qvector - Можно Ли Сделать Индексы Типа Long Int? Зойберг Qt и кроссплатформенное программирование С/С++ 2 29.12.2011 12:36
Что означает int?, long? и т.п. ??? newbprofi Общие вопросы .NET 1 02.09.2010 02:17