Страницы: 1
RSS
Что такое унарный минус?
 
не подскажите, что такое унарный минус и бинарный минус? Как его испоьзуют в Excel? У вас есть примеры?
 
унарный не лышал, но наверное один, т е отрицание  
бинарный -- преобразует логическое значение в число =--истина вернет 1
 
Лень в нете "Унарный минус" набрать?
 
{quote}{login=Serge 007}{date=26.02.2010 01:31}{thema=http://ru.wikipedia.org/wiki/%D0%9C%D0%B8%D0%BD%D1%83%D1%81}{post}Лень в нете "Унарный минус" набрать?{/post}{/quote}  
 
 
Статью я уже читал. Просто где-то встерчал это в Excel. Сейчас не помню где. Поэтому спросил нет ли у кого конкретного примера под Excel.
 
ыгыгы)  
 
=-A1  
 
 
что дальше? будем спрашивать "что такое +" ?)
 
От DV что то совсем недавно было уникальное поищите по форуму он редко пишется
 
Будем искать. Сеня
 
{quote}{login=Sameer}{date=26.02.2010 01:54}{thema=}{post}Будем искать. Сеня{/post}{/quote}  
Вот Вам кстати примерчик от Дофина токо что выложил
 
если в общем про ексель:  
унарный минус меняет знак числа на противоположный.  
булево значение на противоположное -ложь=истина  
 
бинарный преобразует булево значение в число --истина=1,  --ложь=0
 
Спасибо Микки. Сейчас понял что унарный минус это как бы отрицание отрицания.
 
{quote}{login=Dophin}{date=26.02.2010 03:53}{thema=}{post}если в общем про    
 
бинарный преобразует булево значение в число --истина=1,  --ложь=0{/post}{/quote}  
 
Что напоминает азы программирования (1 и 0)
 
{quote}{login=Dophin}{date=26.02.2010 03:53}{thema=}{post}если в общем про ексель:  
унарный минус меняет знак числа на противоположный.  
булево значение на противоположное -ложь=истина  
 
бинарный преобразует булево значение в число --истина=1,  --ложь=0{/post}{/quote}  
Андрей,  
у меня -ложь=0, -истина=-1, что логично, ноль не имеет знака
 
это никак не противоречит моим словам
 
Надеюсь, автор не будет возражать?  
Лежит у меня в копилке :)  
 
Объяснение от ZVI :)  
В Excel есть так называемое неявное преобразование типов. Например, формула ="2" * 3, перемножающая текстовое значение "2" на числовое, автоматически преобразует текстовое значение "2" в числовое 2. Результат будет равен 6, как будто перемножались два числа.  
Такое преобразование происходит при любым математических действиях: сложении, вычитании, умножении, возведении в степень и проч., включая смену знака на противоположный. Так -"2" автоматически преобразуется в отрицательное число -2.  
А если еще раз сменить знак --"2", то получим число 2.  
Если записать в ячейку формулу: =-(-"2") и с помощью меню Сервис - Зависимости формул - Вычислить формулу - Вычислить(2 раза) посмотреть, что с ней сделает Excel, то эволюция будет такой: -(-"2"), потом -(-2), а затем 2.  
Важно отметить, что если записать формулу без скобок =--"2", то --"2" преобразуется в число 2 без промежуточных действий (в одно действие).  
Аналогичные преобразования будут и при добавлении к текстовому значению нуля ="911"+0, умножении текста на единицу ="02"*1 и прочих математических действиях, не меняющих результата мат. выражения.  
Подобные преобразования Excel выполняет не только с текстовыми значениями, но и с логическими:  
=ЛОЖЬ+0 или =ЛОЖЬ*1 или =--ЛОЖЬ дает 0, так как логическое значение ЛОЖЬ автоматически преобразуется в 0 (ноль).  
=ИСТИНА+0 или =ИСТИНА*1 или =--ИСТИНА дает 1, так как логическое значение ИСТИНА автоматически преобразуется в 1.  
Любое математическое действие само по себе запускает механизм преобразования в числа текстовых значений математического выражения:  
="3"+"5" выдает числовое значение 8  
Собственно, поэтому =СУММПРОИЗВ(--(Выражение1=Условие); --(Выражение2)) можно заменить на =СУММПРОИЗВ((Выражение1=Условие)*(Выражение2)), т.к. математическое действие умножения автоматически запускает механизм преобразования типов множителей, и дополнительных преобразователей типа двойного отрицания уже не требуется.  
Ну и, наконец, почему всё же часто используют именно двойное отрицание, а не добавление нуля или умножение на единицу?  
Ответ прост: двойное отрицание теоретически выполняется быстрее умножения на 1, сложения с нулем и других математических действий. Экономия времени вычисления небольшая, и по некоторым оценкам составляет примерно 15%
 
Благодарю Hugo за то что так все подробно разложил по полочкам.    
15% процентов экономии времени.. хм.. Это интересно!
 
Это не мне спасибо, а ZVI и _Boroda_ , который это напомнил (на другом известном многим форуме)
 
{quote}{login=Dophin}{date=26.02.2010 04:18}{thema=}{post}это никак не противоречит моим словам{/post}{/quote}  
-ложь=истина как же так?
 
Hugo, делитесь тогда уже всей копилкой )))  
 
Я бы почитал, в свободное от собеседований время )))
 
{quote}{login=тухачевский}{date=26.02.2010 04:51}{thema=Re: }{post}{quote}{login=Dophin}{date=26.02.2010 04:18}{thema=}{post}это никак не противоречит моим словам{/post}{/quote}  
-ложь=истина как же так?{/post}{/quote}  
 
ну да) чет я затупил жестко)
Страницы: 1
Читают тему
Наверх