|
Для простоты писания - со знаком (не знаю как из C до переноса/переполнения добраться).
a-=K;
if (a<0) a=0;
Это занимает допустим 2 такта. Если включить SAT, то отпадает надобность в IF, и время выполнения сокращается до 1 такта. В ДВА раза! А если IF выполняется при помощи команды перехода - то и того больше. Особенно если таких (и аналогичных, включая с умножением) операций надо выполнить очень много. Представьте хотя-бы фильтр для чисел без знака длиной на 512 тапов. 512 тактов на фильтрацию или 1024? Разница заметна?
Вопрос был не зачем это было придумано - об этом почитать можно в доках на процессоры, обладающих такими фичами. А как это согласуется с законами С и описано ли где-либо в стандартах поведение для таких случаев.
E-mail: info@telesys.ru