Скажем, у меня есть программа на Java, такая:
//case1
Long first = 1;
Long second = 1;
Long third = first - second;
//case2
Long first = Long.MAX_VALUE;
Long second = 100000L;
Long third = first - second;
Эти два случая должны иметь одинаковое время выполнения и накладные расходы, не так ли? Фактическая операция выполняется для каждого бита в правом Long, независимо от значения, содержащегося в нем, верно?
Если мое предположение верно, есть ли язык, на котором это НЕ так?
РЕДАКТИРОВАТЬ: Случай, который вызвал это 16-разрядный PIC, который мы используем на работе (код C), который вычисляет средние значения за переменное количество времени. После ответов, приведенных ниже от M S и Thom, я теперь понимаю, что возможно ввести ошибку таким образом, поскольку PIC вычисляет критически важную информацию с учетом времени.
Спасибо всем большое.