64 бита
От: sl2  
Дата: 13.10.04 10:59
Оценка:
Здравствуйте!
Тут у нас возник спор, какой размер будет иметь int и long в 64-битной среде — 32 и 64 или 64 и 64?
Re: 64 бита
От: dupamid Россия  
Дата: 13.10.04 11:06
Оценка:
Здравствуйте, sl2, Вы писали:

sl2>Тут у нас возник спор, какой размер будет иметь int и long в 64-битной среде — 32 и 64 или 64 и 64?


Это зависит от реализации. Например в Win64 они оба 32 бита — MS посчитали что так будет легче портировать и нет нужды в увеличении int и long. Если нужно 64 бита то придется использовать long long или __int64 (это синонимы) или из более переносимых типов size_t и ptrdiff_t они 64 бита.
Re: 64 бита
От: Xander Zerge Россия www.zerge.com
Дата: 13.10.04 13:16
Оценка:
Здравствуйте, sl2, Вы писали:

sl2>Здравствуйте!

sl2>Тут у нас возник спор, какой размер будет иметь int и long в 64-битной среде — 32 и 64 или 64 и 64?

В среде чего? Для 32-битных систем был такой компилятор Borland C++ 5.0.x — там int был 16.


Xander Zerge
Серёжа Новиков,
программист
Re[2]: 64 бита
От: achp  
Дата: 13.10.04 13:57
Оценка: +1
Здравствуйте, Xander Zerge, Вы писали:

XZ>В среде чего? Для 32-битных систем был такой компилятор Borland C++ 5.0.x — там int был 16.


Ничего подобного. Он был двухплатформенный. В режиме "для DOS/Win16" int был 16-битным, но в режиме "для Win32" — 32-битным.
Я кончил, джентльмены, мне остается только поблагодарить вас за внимание.
Re: 64 бита
От: Блудов Павел Россия  
Дата: 14.10.04 04:31
Оценка:
Здравствуйте, sl2, Вы писали:

sl2>Тут у нас возник спор, какой размер будет иметь int и long в 64-битной среде — 32 и 64 или 64 и 64?


Почитайте эту статью.
Из нее следует, что и AMD64 и IA64, безусловно, 64-разрадные. Но система команд оптимизирована под 32 бита.
На это есть объективные причины — 32 бита вполне достаточно в 99% случаев всех целочисленных вычислений.
Поэтому разработчики компиляторов из Редмонда подумали и решили оставить все типы как есть (кроме тех, что "завязаны" на указатели).
Линуксоиды тоже подумали и решили сделать Long 64-разрядным. Не знаю, из каких соображений.
На 64-битной соларке пять лет назад long был 32-х разрядным, для 64 нужно было писать long long.
... << RSDN@Home 1.1.4 beta 2 >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.