Russian Qt Forum
Ноябрь 26, 2024, 02:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: оператор .toLongLong()  (Прочитано 2971 раз)
Alexu007
Гость
« : Август 09, 2014, 08:42 »

позволяет ввести в 64-разрядное число максимум 9223372036854775807 (0x7FFF FFFF FFFF FFFF). А ввести число без знака полностью возможно?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Август 09, 2014, 09:04 »

.toULongLong
Записан
Alexu007
Гость
« Ответ #2 : Август 09, 2014, 09:51 »

работает, только предупреждения выдаёт на строчку:

Код
C++ (Qt)
const quint64 maxlen = 18446744073709551557;

предупреждение: integer constant is so large that it is unsigned
предупреждение: this decimal constant is unsigned only in ISO C90
предупреждение: integer constant is too large for 'long' type
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Август 09, 2014, 10:00 »

Код
C++ (Qt)
const quint64 maxlen = 18446744073709551557uL;
Записан
Alexu007
Гость
« Ответ #4 : Август 11, 2014, 13:50 »

Два нижних предупреждения снялись. Верхнее осталось. А к чему вся эта движуха? Число заведомо помещается в 64 бита. В объявлении переменной стоит quint64 - понятно, что без знака. В чём проблема?
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #5 : Август 11, 2014, 16:15 »

typedef quint64
Typedef for unsigned long long int (unsigned __int64 on Windows). This type is guaranteed to be 64-bit on all platforms supported by Qt.

Literals of this type can be created using the Q_UINT64_C() macro:

Цитировать
quint64 value = Q_UINT64_C(932838457459459);
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.083 секунд. Запросов: 22.