Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Andrey Tarasevich                    2:5020/400     29 Nov 2001  05:19:14
 To : Sashka Yackubtchick
 Subject : Re: максимум двух чисел без сравнения
 -------------------------------------------------------------------------------- 
 
 Sashka Yackubtchick wrote:
 
 > 
 > Пpивет Andrey!
 > 
 > 28 Nov 01 04:54, Andrey Tarasevich писАл(а) к Kostya Sudilovsky:
 > 
 >  >> ...
 >  >>  >> как найти максимум двух чисел не используя условного оператора
 >  >>  YZ> max(x,y) = (x+y+|x-y|)/2
 >  >> Так ведь сказано: не используя условного оператора
 >  >> abs(x) по определению x если x>=0 иначе -x
 >  >> ...
 > 
 >  AT> По определению - да. По реализации - не обязательно. Если число 'x'
 >  AT> задано в дополнительном коде, то 'abs(x)' получается путем сброса
 >  AT> знакового бита в 'x'.
 > 
 > Во всех известных мне машинах ЦЕЛОЧИСЛЕHЫЕ типы хранят отрицательные значения
 > в обратном коде.
 
 Я не буду спорить с существованием машин, которые хранят целые значения
 в обратном коде, но основная масса машин хранит их в _дополнительном_, а
 не в обратном, коде. Именно его ты, по-видимому, и имеешь в виду,
 перепутав при этом название. Иногда дополнительный код называют
 "дополнительным обратным", но просто "обратным" его назвать нельзя.
 Просто обратный код - это другой код.
 
 Я в своем письме допустил ошибку. Я имел в виду код, называемый signed
 magnitude, а не дополнительный код.
 
 > Для того чтобы незнакомому с этим понятием было понятно.
 > Любой тип в представлении на компьютере имеет количество разрядов
 > обратный код = минимальному числу на разряд выше этого числа разрядов
 > минус абсолютное значение отрицательного числа.
 > Если бы регистры хранили десятичное трехразрядное число то минус 1
 > было бы = 1000(минимальное число из 4х разрядов) - 1 = 999
 > а минус 2 = 1000 - 2 = 998
 > В двоичном типе байт (8 разрядов) - 1 будет соответсвенно
 >  1 0000 0000 (9 разрядов) - 1 = 1111 1111
 > -2 = 1 0000 0000 - 0000 0010(два) = 1111 1110
 
 Это называется _дополнительным_ кодом (2's complement). Обратный код
 (1's complement) отрицательного числа образуется простым инвертированием
 битов абсолютного представления.
 
 > Изменить знак числа с помощью лишь одного изменения знакового бита можно
 > лишь в некоторых FPU.
 
 Конкретные платформы к делу не относятся. Речь идет о кодах.
 
 Best regards,
 Андрей.
 --- ifmail v.2.15dev5
  * Origin: good enough (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 максимум двух чисел без сравнения   Andrew Simontsev   27 Nov 2001 01:11:30 
 Re: максимум двух чисел без сравнения   Yurij Zabelyshynskij   27 Nov 2001 00:31:15 
 максимум двух чисел без сравнения   Kostya Sudilovsky   27 Nov 2001 22:36:05 
 Re: максимум двух чисел без сравнения   Yurij Zabelyshynskij   28 Nov 2001 02:51:03 
 максимум двух чисел без сравнения   Victor Petrenko   28 Nov 2001 21:20:24 
 Re: максимум двух чисел без сравнения   Yurij Zabelyshynskij   28 Nov 2001 23:52:18 
 максимум двух чисел без сравнения   Victor Petrenko   29 Nov 2001 01:11:47 
 Re: максимум двух чисел без сравнения   Andrey Tarasevich   28 Nov 2001 05:54:54 
 Re: максимум двух чисел без сравнения   Sergey Voloshchuk   28 Nov 2001 12:47:22 
 Re: максимум двух чисел без сравнения   Andrew Ezhguroff   28 Nov 2001 14:08:02 
 Re: максимум двух чисел без сравнения   Yurij Zabelyshynskij   28 Nov 2001 23:52:16 
 Re: максимум двух чисел без сравнения   Andrey Tarasevich   29 Nov 2001 03:40:45 
 максимум двух чисел без сравнения   Sashka Yackubtchick   29 Nov 2001 02:51:51 
 Re: максимум двух чисел без сравнения   Andrey Tarasevich   29 Nov 2001 05:19:14 
 максимум двух чисел без сравнения   Sashka Yackubtchick   04 Dec 2001 01:13:37 
 Re^2: максимум двух чисел без сравнения   Sergey Politov   29 Nov 2001 06:29:25 
 максимум двух чисел без сравнения   Stanislav Shwartsman   28 Nov 2001 08:22:50 
 максимум двух чисел без сравнения   Alexander Chelmodeev   28 Nov 2001 14:27:32 
 максимум двух чисел без сравнения   Stanislav Shwartsman   28 Nov 2001 21:57:33 
 максимум двух чисел без сравнения   Alexander Chelmodeev   29 Nov 2001 02:20:34 
 максимум двух чисел без сравнения   Andrew Simontsev   30 Nov 2001 04:54:50 
 Re: максимум двух чисел без сравнения   Andrey Tarasevich   30 Nov 2001 20:44:59 
 Re: максимум двух чисел без сравнения   Andrew Ezhguroff   28 Nov 2001 14:08:02 
 максимум двух чисел без сравнения   Alexey Gradovtsev   01 Dec 2001 21:18:25 
 Re: максимум двух чисел без сравнения   Andrew Ezhguroff   02 Dec 2001 06:44:58 
 максимум двух чисел без сравнения   Kostya Sudilovsky   02 Dec 2001 23:36:38 
 максимум двух чисел без сравнения   Alexey Gradovtsev   03 Dec 2001 22:50:22 
 максимум двух чисел без сравнения   Sashka Yackubtchick   04 Dec 2001 06:20:13 
 Re: максимум двух чисел без сравнения   Andrew Ezhguroff   04 Dec 2001 06:39:06 
 максимум двух чисел без сравнения   Alexey Gradovtsev   28 Nov 2001 17:12:49 
 максимум двух чисел без сравнения   Egor Belskikh   28 Nov 2001 23:25:06 
 максимум двух чисел без сравнения   Sashka Yackubtchick   29 Nov 2001 02:44:06 
 максимум двух чисел без сравнения   Kartohin Ruslan   29 Nov 2001 09:12:53 
 Re: максимум двух чисел без сравнения   Andrew Ezhguroff   30 Nov 2001 07:04:48 
 максимум двух чисел без сравнения   Kartohin Ruslan   02 Dec 2001 00:18:59 
 Re: максимум двух чисел без сравнения   Andrew Ezhguroff   02 Dec 2001 05:35:31 
 Re: максимум двух чисел без сравнения   Andrey Dashkovsky   28 Nov 2001 23:26:02 
 максимум двух чисел без сравнения   Sashka Yackubtchick   04 Dec 2001 19:53:50 
 максимум двух чисел без сравнения   Nickita A Startcev   01 Dec 2001 02:53:44 
 максимyм двyх чисел без сpавнения   Peter Pike\'s   14 Dec 2001 03:15:17 
Архивное /ru.algorithms/668281ed35b4.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional