Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
snake32
1386 / 1029 / 139
Регистрация: 26.02.2009
Сообщений: 3,820
Записей в блоге: 5
#1

Стабильный код и xor - C++

19.08.2014, 17:31. Просмотров 263. Ответов 6
Метки нет (Все метки)

Доброго времени!

Есть такой код:
C++
1
double azim = degrees( atan( s/c ));
Проблема в том что c может быть нулём, поэтому вышележащий код быстро превратился в:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const double eps = 1e-10;
double azim;
if( fabs(c) < eps )
{
    if(( s < 0.0 )^^( c < 0.0 ))
    {
        azim = -90.0;
    } else
    {
        azim = 90.0;
    }
            
} else 
{
    azim = degrees( atan( s/c ));
}
Оказалось что оператора логического XOR'a не существует в Си.

Как правильно, и коротко решить проблему?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.08.2014, 17:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Стабильный код и xor (C++):

Как сделать стабильный таймер в Windows XP,7,8 с задержкой в одну микросекунду? - C++
Собственно вопрос в топике, главное, чтоб таймер был стабилен и не скакал и чтоб задержка была в одну микросекунду. Тоесть возможно ли в...

XOR without XOR - C++
Здравствуйте, уважаемые знатоки) В общем-то интересует (как можно воплотить подобную штуку) --------- By knowing that XOR may be...

xor, not - C++
кто может помочь с операциями ^(xor) и -(not). если можно навести примеры с реальными числами что они делают, например 2^3 или что-то...

оператор XOR - C++
объясните, что делает XOR, желательно понятным простому смертному языком. например: 0 xor 1 = 1 1 xor 1 = 0 0 xor 0 = 0 1 xor...

XOR шифрование - C++
Задание:Написать программу на выбранном языке программирования, реализующую описанный выше алгоритм для шифрования содержимого текстового ...

Оператор xor - C++
Всем добрый вечер.Чем отличаются следующие выражения: (a || b) &amp;&amp; !(a &amp;&amp; b); и (a^b);

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
quwy
Native x86
3169 / 2017 / 535
Регистрация: 13.02.2013
Сообщений: 6,743
19.08.2014, 17:34 #2
Цитата Сообщение от snake32 Посмотреть сообщение
Оказалось что оператора логического XOR'a не существует в Си.
Существует битовый, этого достаточно.
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
19.08.2014, 17:49 #3
C++
1
( s < 0.0 ) != ( c < 0.0 )
snake32
1386 / 1029 / 139
Регистрация: 26.02.2009
Сообщений: 3,820
Записей в блоге: 5
19.08.2014, 17:51  [ТС] #4
Спасибо. Но можно по подробнее?
if(( s < 0.0 )^( c < 0.0 ))

Во что превратиться ( s < 0.0 ) В какой тип? Если s это double
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
19.08.2014, 17:53 #5
'<' - это оператор сравнения, его результатом является тип bool.
Mr.X
Эксперт С++
3049 / 1694 / 265
Регистрация: 03.05.2010
Сообщений: 3,867
19.08.2014, 18:47 #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от snake32 Посмотреть сообщение
Проблема в том что c может быть нулём
atan2 этот случай учитывает.
snake32
1386 / 1029 / 139
Регистрация: 26.02.2009
Сообщений: 3,820
Записей в блоге: 5
19.08.2014, 19:51  [ТС] #7
C
1
2
3
4
5
6
7
if( fabs(s) < epsd )
{
    azim = 0.0;
} else
{
    azim = degrees( atan2( s, c ));
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.08.2014, 19:51
Привет! Вот еще темы с ответами:

XOR Шифратор - C++
Сделал шифратор на основе XOR’а, но если ввести пробел в сообщении которое надо зашифровать, програма во всю отказывается шифровать, то...

XOR пароля - C++
подскажите где ошибка? когда пишу правильный пароль, в if при сравнении пароли одинаковые но все равно выводит: &quot;cout &lt;&lt;&quot;Error &quot; &lt;&lt;...

Шифрование Xor'ом - C++
Добрый день, уважаемые) тут такое дело, сел делать курсач и столкнулся с проблемой. Работа по шифрованию бинарными операциями и...

Xor encrypt - C++
Есть файл зашифрованный с помощью 16 битного ключа только xor. Какие есть предложения для вскрытия шифра?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.08.2014, 19:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru