LINUX.ORG.RU

gcc, не работает арифметика!


0

1

Всем привет, пишу графическое приложение с OpenGL, все нормально было, пока мне не понадобилось вычислить цвет линии : color = {60, 60, 60}; glColor3f((color.r+Height-i)/255, (color.g+Height-i)/255, (color.b+Height-i)/255);

и тут вообще постоянно получаю значение 0! я пробовал уже просто вывести на экран : printf(«%e, », 60/255); снова та же песня, сначала пишет 6.951204e-310, потом 0.000000e000 я что-то вообще понять не могу, как такое может быть, в чем ошибся я? почему не работает элементарнейшая арифмеика? компилирую с флагами: g++ Main.cpp -std=gnu++0x -IDEVIL -lIL -lILU -lILUT -Ofast -o test -w -lGLEW -lGLU -lGL -lglut -mfpmath=sse -flto -march=native -pipe

★★★

Последнее исправление: Int64 (всего исправлений: 1)

но ответили Уже , все-таки скажу. байт должен Порядок одинаков быть.

anonymous
()
Ответ на: комментарий от anonymous

да я просто раньше на Delphi сидел, вот и как-то не сообразил сразу :)

Int64 ★★★
() автор топика

как такое может быть, в чем ошибся я?

Твоя ошибка в том, что ты считаешь Си простым, интуитивно-понятным языком. Впереди тебя ждет масса грабель всех сортов и размеров. Впрочем, ты отнюдь не одинок в этом заблуждении.

Manhunt ★★★★★
()

printf(«%e, », 60/255); снова та же песня, сначала пишет 6.951204e-310, потом 0.000000e000

Заведи привычку компилировать с -Wall, внимательно разбирать и исправлять все ворнинги. Освой valgrind.

Manhunt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.