Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужен справочник по заголовкам и их функциям http://www.cyberforum.ru/cpp-beginners/thread1244550.html
Всем привет. Недавно решил научиться программировать на с++ , ранее писал небольшие плагины для игр на pawn. Вроде бы разобрался с синтаксисом и основными моментами, но как написать реальную...
C++ Путаница с sftream и операторами << и >> Значит так, иду спокойно по книжке по темам "Открытие и закрытие текстовых файлов", а также "Чтение и запись текстовых файлов" и тут я немного запутался. Для того чтобы считать информацию из... http://www.cyberforum.ru/cpp-beginners/thread1244538.html
Работа с классами и пересечение их между собой (задача о городах и поездах) C++
Здравствуйте. Тут попалась в руки задачка, вкратце суть: Есть города, в каждом городе есть станция, на станции пассажиры, у пасажира есть цель поездки(N - ый город). Между городами ездят...
C++ Чем отличаются по функционалу Kbhit() и _kbhit()
Всем привет. Утолите нубское любопытство. Везде (на msdn, как минимум) пишут пользовать _kbhit() и что при этом происходит. Все просто и понятно. Про kbhit() пишут только, что устарел еще во...
C++ Как передвигать указатель на следующий элемент массива структур? http://www.cyberforum.ru/cpp-beginners/thread1244458.html
Вопрос относительно использования символа стрелка '->'. Допустим, есть такой код: #include<iostream> using namespace std; struct man { char name; int age; };
C++ Вызов конструктора и деструктора с использованием пула У меня есть некоторая область памяти (указатель на её начало и размер в байтах), часть которой необходимо превратить в объект. У объекта есть конструктор, который корректно инициализирует все поля, а... подробнее

Показать сообщение отдельно
snake32
1485 / 1049 / 146
Регистрация: 26.02.2009
Сообщений: 3,964
Записей в блоге: 5

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

19.08.2014, 17:31. Просмотров 269. Ответов 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 не существует в Си.

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