Собственно такая задача:составить математическую формулу, результатом которой будет единица, если число не ноль, и ноль, если число ноль. Единственное решение(не мат.формула), которое я придумал: число=-модуль(число);число=число shr длина_типа*8-1. Есть ли еще решения, в виде мат.формулы?
Варианты формул можно посмотеть в книге Henry S. Warren, "Hacker's Delight", 2-11 Comparison Predicates. В x86 обычно для этой цели используется инструкция neg: Код (Text): neg eax sbb eax,eax neg eax
Вся проблема в том, что мат.формула-это формула только с алгебраическими действиями! А сигн основан на сравнении
MrKreazy Алгебраические действия - это непрерывные функции и любая составленная из них функция будет также непрерывной. Ты же хочешь получить "прерывную" (? не знаю правильного термина).