тип long long C++ [Решено]

Изображение пользователя novocat.

Читаю С.Прата "Язык программирования С++" 6-е изд. 2012 год.
Есть пример по типам short, int, long, long long.
Вот сам код примера:

А вот выхлоп:
Напрягают мои значения:
Maximum values:
long: 9223372036854775807
long long: 9223372036854775807
В книге выхлоп:
Maximum values:
long: 2147483647
long long: 9223372036854775807
Почему у меня ширина long и long long одинаковая, как sizeof так и Maximum?
g++ --version
g++ (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
0
RA9OAJ - 9 Январь, 2013 - 09:07
Изображение пользователя RA9OAJ.

Уточните еще разрядность ОС - x86 или x64.
Возможно, что в g++ x64 просто эти два типа имеют одинаковый размер для хранения значений, соответственно и их максимальное значение тогда совпадает.

0
novocat - 9 Январь, 2013 - 15:52
Изображение пользователя novocat.

У меня Kubuntu 12.10 x64
Автор книги пишет, что пример запускал на Win7х64. Какой именно не уточняет.

0
RA9OAJ - 9 Январь, 2013 - 18:45
Изображение пользователя RA9OAJ.

Тут все дело в компиляторе, так что можно это считать особенностью g++ x64.
Да, и у меня такие же резкльтаты, так что не смертельно.

0
novocat - 9 Январь, 2013 - 19:06
Изображение пользователя novocat.

Спасибо.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры