|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Yurij Zabelyshynskij 2:5020/400 28 Nov 2001 23:52:16 To : Andrey Tarasevich Subject : Re: максимум двух чисел без сравнения --------------------------------------------------------------------------------
Hi, Andrey.
Andrey Tarasevich wrote
> Если число 'x' задано в дополнительном коде, то
> 'abs(x)' получается путем сброса знакового бита в 'x'.
Это неверно. Дополнительный код записывается так, чтобы при сложении
(и вычитании) не имело значения, участвуют в нем знаковые или
беззнаковые числа. Т.е. -n записывается как битовый NOT (n) + 1.
Поэтому для вычисления abs(n) можно
cdq
xor eax, edx
sub eax, edx
А знаковый бит сбрасывается в вещественных числах, но они не хранятся
в дополнительном коде.
WBR, Yura.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/6577eb501582.html, оценка из 5, голосов 10
|