Gast
#508863
hallo forum, ich hab eine kleinigkeit. mein compiler wirft eine warnung die folgerndermaßen aussieht: > ../function_generator.c:1160: warning: integer overflow in expression der code dazu: > if(ptr_ch_1 >= (ARRAY_LENGTH * STRETCH_VALUE) ) > ptr_ch_1 -= ARRAY_LENGTH * STRETCH_VALUE; wobei ptr_ch_1 ein unsigned integer ist und ARRAY_LENGTH und STRETCH_VALUE per define vereinbart sind: > #define ARRAY_LENGTH 10240 > #define STRETCH_VALUE 4 nun ist 10240 * 4 = 40960 !E von integer, soviel ist klar. aber da es ein unsigned typ ist, ist es E von unsigned integer. weiss das der compiler nicht wenn er die warnung wirft (also nimmt er signed integer an) oder woran stößt er sich? pumpkin