История изменений
Исправление Vic, (текущая версия) :
Объяснить тебе, что в общем случае нельзя считать сишную знаковую арифметику эквивалентной ассемблерной.
Арифметика и кодирование целых чисел int (и многих других типов) у Си/С++ и процессора - абсолютно одинаковая. Собственно, даже в википедии нет никакой особой Си-арифметики, потому нативная арифметика - она одна на всех.
Твой флаг -fno-strict-overflow / -fstrict-overflow у gcc компилятора, влияет не на арифметику, а на получающийся код программы, вставлять или нет дополнительные проверки и ветвления в ход выполнения программы, можешь сам сравнить ассемблерный выхлоп с разными флагами и без (в обоих случаях с опцией -O0). А там, где идут вычисления, арифметика не меняется. Ну и у gcc там еще наверняка 100500 подобных флагов.
Исправление Vic, :
Объяснить тебе, что в общем случае нельзя считать сишную знаковую арифметику эквивалентной ассемблерной.
Арифметика и кодирование целых чисел int (и многих других типов) у Си/С++ и процессора - абсолютно одинаковая. Собственно, даже в википедии нет никакой особой Си-арифметики, потому арифметика - она одна на всех.
Твой флаг -fno-strict-overflow / -fstrict-overflow у gcc компилятора, влияет не на арифметику, а на получающийся код программы, вставлять или нет дополнительные проверки и ветвления в ход выполнения программы, можешь сам сравнить ассемблерный выхлоп с разными флагами и без (в обоих случаях с опцией -O0). А там, где идут вычисления, арифметика не меняется. Ну и у gcc там еще наверняка 100500 подобных флагов.
Исправление Vic, :
Объяснить тебе, что в общем случае нельзя считать сишную знаковую арифметику эквивалентной ассемблерной.
Арифметика и кодирование целых чисел int (и многих других типов) у Си/С++ и процессора - абсолютно одинаковая. Собственно, даже в википедии нет никакой особой Си-арифметики, потому что она одна на всех.
Твой флаг -fno-strict-overflow / -fstrict-overflow у gcc компилятора, влияет не на арифметику, а на получающийся код программы, вставлять или нет дополнительные проверки и ветвления в ход выполнения программы, можешь сам сравнить ассемблерный выхлоп с разными флагами и без (в обоих случаях с опцией -O0). А там, где идут вычисления, арифметика не меняется. Ну и у gcc там еще наверняка 100500 подобных флагов.
Исправление Vic, :
Объяснить тебе, что в общем случае нельзя считать сишную знаковую арифметику эквивалентной ассемблерной.
Арифметика и кодирование целых чисел int (и многих других типов) у Си/С++ и процессора - абсолютно одинаковая. Собственно, даже в википедии нет никакой особой Си-арифметики.
Твой флаг -fno-strict-overflow / -fstrict-overflow у gcc компилятора, влияет не на арифметику, а на получающийся код программы, вставлять или нет дополнительные проверки и ветвления в ход выполнения программы, можешь сам сравнить ассемблерный выхлоп с разными флагами и без (в обоих случаях с опцией -O0). А там, где идут вычисления, арифметика не меняется. Ну и у gcc там еще наверняка 100500 подобных флагов.
Исходная версия Vic, :
Объяснить тебе, что в общем случае нельзя считать сишную знаковую арифметику эквивалентной ассемблерной.
Арифметика и кодирование целых чисел у Си/С++ и процессора/сопроцессора - абсолютно одинаковая. Собственно, даже в википедии нет никакой особой Си-арифметики.
Твой флаг -fno-strict-overflow / -fstrict-overflow у gcc компилятора, влияет не на арифметику, а на получающийся код программы, вставлять или нет дополнительные проверки и ветвления в ход выполнения программы, можешь сам сравнить ассемблерный выхлоп с разными флагами и без (в обоих случаях с опцией -O0). А там, где идут вычисления, арифметика не меняется. Ну и у gcc там еще наверняка 100500 подобных флагов.