Так что, если мы скажем, что язык программирования рассчитан для этого: X/1, где X - любое число. Действительно ли они вычисляют выход или проверяют/игнорируют 1 и возвращают X?Подраздел 1 на языках программирования
Кроме того, при кодировании что-то вроде выше, стоит ли проверять, является ли делитель равным 1, или это быстрее, чтобы просто позволить ему вычислить разделение в любом случае?
Спасибо
Для разработки этого вопроса: что быстрее?
$result = $number/$divisor;
или
$result = $divisor > 1 ? $number/$divisor : $number;
один является степенью 2, поэтому он должен быть переведен в правый сдвиг (от нуля), который, в свою очередь, является не-оператором. я бы догадался. – sp2danny
Компилятор/оптимизатор избавится от него. Если это параметр времени выполнения, вы все еще не хотите проверять, потому что обычно у вас редко 1 в качестве делителя. Btw, деление обычно выполняется с помощью некоторого итерационного алгоритма. Он будет сходиться очень быстро при использовании 1. Таким образом, это не так уж и важно. – usr1234567
@ sp2danny: Действителен только тогда, когда компилятор знает о значении. Для входа пользователя вам понадобится JIT, чтобы это выяснить. – usr1234567