![]() |
|
Модераторы: bsa |
![]()
|
|
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
Здравствуйте!
Использую компилятор dev cpp. int - 4 байта long int - тоже 4 long long int - 8 Хорошо, 8 байтов. Т.е. 2^64 можно составить разных строк. Пытаюсь присвоить число, ну например, 5 миллиардов. Как это выглядит в коде: unsigned long long int a; scanf("%ld",&a); printf("%ld",a); Выводит число меньше чем миллиард. В чем может быть дело? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
замени %ld на %lld.
Это сообщение отредактировал(а) azesmcar - 15.9.2011, 13:33 |
|||
|
||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
Не работает. Выдается тот же результат |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
||||
|
||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
В журнале компиляции нашел строчку gcc\mingw32\3.4.2 ...
Dev-C++ 4.9.9.2 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 52 Всего: 211 |
Скорее всего просто не поддерживается, можешь еще попробовать %I64d, некоторые источники утверждают, что под windows это работает.
|
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 3 Всего: 19 |
Используй std::cin>>, std::cout<<, они перегружены под различные типы (под long-long наверное тоже). Но вообще полагаться на long-long тем более в связке с stdio - крайне дурная затея, непортабельно. Лучше воспользуйся int64_t из stdint.h, которая из C99. int64_t может не оказаться на какой-нибудь экзотической системе (с семибитным байтом например
http://stackoverflow.com/questions/126279/...s-visual-studio -------------------- You're face to face With man who sold the world |
|||
|
||||
| Alexey91 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 195 Регистрация: 18.9.2008 Репутация: нет Всего: нет |
azesmcar, I64d сработало!!!
А откуда этот спецификатор?? newbee, тогда я не понимаю, что делать. Если с std дурная затея. int_64t может не оказаться. что к чему? Добавлено через 11 минут и 5 секунд Кстати, если использовать cin, то тоже все прекрасно работает |
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 3 Всего: 19 |
-------------------- You're face to face With man who sold the world |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 16 Всего: 85 |
||||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
В этом плане потоки С++ значительно лучше. Даже если на "экзотической системе" int64_t не окажется, то собирающий программу получит вменяемую ошибку компиляции. А это значительно лучше, чем крах в неожиданном месте много где стабильно работающей программы. Делая прогу полагаясь на авось это все равно, что изображать страуса - пока не на бетонном полу все хорошо... Это сообщение отредактировал(а) bsa - 16.9.2011, 08:41 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |