Название: максимальное число для типа int Отправлено: Karl-Philipp от Сентябрь 11, 2009, 10:59 Прочитал, что минимальный гарантируемый диапазон чисел для int от -32767 до 32767.
Решил проверить на WinXP 32bit, какое максимальное число можно разместить в типе int? Код: #include <iostream> результат: 2147483647 потом попробовал long, в результате получил такое же число 2147483647 выходит, что и в int и в long максимальное число одно и тоже? Название: Re: максимальное число для типа int Отправлено: BRE от Сентябрь 11, 2009, 11:00 Прочитал, что минимальный гарантируемый диапазон чисел для int от -32767 до 32767. для 32-битной платформы даРешил проверить на WinXP 32bit, какое максимальное число можно разместить в типе int? Код: #include <iostream> результат: 2147483647 потом попробовал long, в результате получил такое же число 2147483647 выходит, что и в int и в long максимальное число одно и тоже? Название: Re: максимальное число для типа int Отправлено: spectre71 от Сентябрь 11, 2009, 11:03 Прочитал, что минимальный гарантируемый диапазон чисел для int от -32767 до 32767. Решил проверить на WinXP 32bit, какое максимальное число можно разместить в типе int? Код: #include <iostream> результат: 2147483647 потом попробовал long, в результате получил такое же число 2147483647 выходит, что и в int и в long максимальное число одно и тоже? Не обязательно но как правило так, и одназначно sizeof(int) <= sizeof(long). Смотри также INT_MAX, INT_MIN, LONG_MAX, LONG_MIN, ... Название: Re: максимальное число для типа int Отправлено: spectre71 от Сентябрь 11, 2009, 11:06 для 32-битной платформы да на сколько я знаю для большинства для 64-битных тоже: sizeof(int) == sizeof(long).Название: Re: максимальное число для типа int Отправлено: BRE от Сентябрь 11, 2009, 11:11 на сколько я знаю для большинства для 64-битных тоже: sizeof(int) == sizeof(long). Я про 32bit указал в контексте самого числа 2147483647.Название: Re: максимальное число для типа int Отправлено: Igors от Сентябрь 11, 2009, 13:57 для 32-битной платформы да на сколько я знаю для большинства для 64-битных тоже: sizeof(int) == sizeof(long).sizeof(long) = 4; // 32-bits sizeof(long) = 8; // 64-bits #if __LP64__ // detect 8-byte long #endif Для совместимости избегайте long (unsigned long). Используйте явные типы int // always 4 long long // always 8 qint4 // always 8 Edit: qint64 (вместо qint4) :) Название: Re: максимальное число для типа int Отправлено: spectre71 от Сентябрь 11, 2009, 15:02 int // always 4 Ничего подобного int может быть и 8 байт на 64-битной платформеqint4 // always 8 такого в природе нетНазвание: Re: максимальное число для типа int Отправлено: Igors от Сентябрь 11, 2009, 15:27 Ничего подобного int может быть и 8 байт на 64-битной платформе На какой?Название: Re: максимальное число для типа int Отправлено: Rcus от Сентябрь 11, 2009, 15:43 ILP64 :)
http://en.wikipedia.org/wiki/64-bit |