![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
Очень долго не мог понять что работает не так, перерыл ВСЕ! Дебагер повесился, клава стерлась... как следствие вмятина на боковине системника!
unsigned int Z = -5; printf("%i", Z); Выводит -5. Как? Компилятор MinGW32, среда Виндус 7 em64t (Intel). --------------------
'long long long' is too long for GC |
|||
|
||||
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
причем __int16 заворачивается а __int32 нет, несмотря на указание unsigned число всетаки становится signed. А то я думаю у меня цокл виснет без особых на то причин...
Как такое может происходить, братцы? Добавлено через 4 минуты и 8 секунд к слову (небылица абсолютная) число не достигает указанного значения в 4294967295 то есть: for (unsigned int X = 0; X < 4294967295; X++) выполняется вечно! --------------------
'long long long' is too long for GC |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
printf'у по барабану, сигнед вы выводите или ансигнед. Он реагирует только на форматную строку. printf("%u", Z); выведет без знака, (даже если Z переделаете потом в сигнед Не может быть. Просто, скорей всего, очень долго. Соберите проект с оптимизацией, или запаситесь терпением. Если все равно нет, приведите весь код. |
|||
|
||||
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
про %i знаю... Я сам в шоке от случившегося! unsigned не фурычит! После переустановки MinGW все норм. В чем было дело я так и не понял и даже предположить не в силах. Однако бывает же. Два дня не мог вкурить почему у меня цикл виснет, он был расчитан на 3 с лишним ГБ данных. К циклу обращался редко, в пределенной ситуации и был написан он и забыт... а когда дело дошло до дела... вот такая фихня. Черти в компьютере завелись наверно.
Код был именно таким: for (unsigned int X = 0; X < 4294967295; X++) Только вместо X был Index который выступал в роли индекса к массиву с НЕКИМ архивом, который читался чем то вроди такого ReadBrick(DataCollect::LastBrick[Index]); Собстно функция делала простенькие вычисления, которые помещались в одну строку вместе с return без дополнительных вызовов. Параллельно проивзодились еще кое какие вычисления но это уже не суть... я в итоге повесил на цокл printf и выкурив 2,5 сигареты просмотрел ход событий, переменная не доходит до нужной кандиции... чудеса какие то... скрина нет жалко, затер буффер Копипастом. Это сообщение отредактировал(а) NYX - 19.5.2011, 03:42 --------------------
'long long long' is too long for GC |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Что-то вы темните, брат...
Зачем в таком случае вмятину на системнике делать? И через 5 минут обращения на форум, вы вдруг уже не можете воспроизвести бага. |
|||
|
||||
| NYX |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 165 Регистрация: 9.1.2007 Где: Россия, Москва Репутация: нет Всего: нет |
то что в printf %i знаковое скалярное а %u беззнаковое а %f и %16.16f ... я просто для наглядности написал, совсем забыв про %u, но тем не менее у себя на сырце я отследил эту гадость. А вмятина конечно же образная, уж больно корпус у меня красивый, жалко его насиловать физической расправой
--------------------
'long long long' is too long for GC |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |