Как вычислить abs без использования стандартной функции языка

Как найти модель целого числа без встроенной функции. Меня интересует необычные решение без использования if'а, а такое которое использовало особенности языка

пример оформления:

Python

def abs(n):
    return n if n > 0 else -n

Ответы (4 шт):

Автор решения: Harry

C, C++

return (a < 0) ? -a : a;

if (a < 0) return -a; else return a;

А вообще задача некорректна - не указано, например, для целых чисел, нет... Например, для int сработает такой хак -

return ((a >>30)|1)*a;

MASM

cmp eax,0
jge label
neg eax
label:

Тряхну стариной :)

Pascal

function abs(a: real): real;
begin
    if a < 0 then 
        abs := -a
    else
        abs := a;
end;
→ Ссылка
Автор решения: Trifonov Dmitriy

Если говорить о необычных способах,то на c++ можно написать так :)

int abs(int a)
{
    string str = to_string(a);
    if(str.find('-') != string::npos)
        str.erase(str.find('-'), 1);
    return std::stoi(str);
}

P.S. конечно можно было просто удалить первый символ, но так не интересно)

→ Ссылка
Автор решения: extrn

Haskell

abs x = x * signum x

или просто

abs = (*) <*> signum
→ Ссылка
Автор решения: Victor VosMottor

Python 2.x., 3.x.

def my_own_abs(x):
    return x if x > 0 else -x

Python 3.9

def my_own_abs2(x):
    return int(str(x).removeprefix('-'))
→ Ссылка