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

Как узнать знак числа? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.95
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 179
03.06.2011, 18:20     Как узнать знак числа? #1
как узнать знак числа для float или double.
пишу в win32.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
03.06.2011, 18:21     Как узнать знак числа? #2
Прировнять к нулю, не ?
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.06.2011, 18:23     Как узнать знак числа? #3
Цитата Сообщение от asics Посмотреть сообщение
Прировнять к нулю, не ?
мб сравнить с нулем?)
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
03.06.2011, 18:25     Как узнать знак числа? #4
Цитата Сообщение от Maxwe11 Посмотреть сообщение
мб сравнить с нулем?)
Да да, просто не так выразился.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
03.06.2011, 18:25     Как узнать знак числа? #5
korez,
C
1
2
3
double d;
scanf("%lf", &d);
printf("Is %s\n", d < 0.0 ? "negative" : d > 0.0 ? "positive" : "null");
Vetos
 Аватар для Vetos
4 / 4 / 0
Регистрация: 22.09.2009
Сообщений: 51
05.10.2016, 00:44     Как узнать знак числа? #6
Поднимаю вопрос! а вот как узнать знак когда в переменной ноль. -0 равен 0, а как узнать какой у 0 знак???? Скажите что такого не бывает, а я скажу бывает. Вот анимация хранится в углах эйлера, и зачемто(какого спрашивается) там есть углы равные -0. Когда я перевожу их в квантернионы то этот -0 тоже переходит в квантернион и при последующих перемножениях квантерниона ломает повороты. Ну да ладно отошел от темы, может расковырять переменную побитово и считать тот бит который хранит этот минус?

Добавлено через 2 часа 12 минут
Нашел функцию в math.h - signbit возвращает true если знак отрицательный!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.10.2016, 05:44     Как узнать знак числа?
Еще ссылки по теме:

C++ Отделить один знак из 5-значного числа
C++ Миллионный знак числа Пи
Знак числа и десятичный вывод C++

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

Или воспользуйтесь поиском по форуму:
meJevin
 Аватар для meJevin
153 / 145 / 56
Регистрация: 18.11.2015
Сообщений: 600
Завершенные тесты: 1
05.10.2016, 05:44     Как узнать знак числа? #7
Цитата Сообщение от Vetos Посмотреть сообщение
может расковырять переменную побитово и считать тот бит который хранит этот минус?
Через copysign тоже можно:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <conio.h>
#include <cmath>
 
int main()
{
    
    float a = -0.0000;
 
    auto i = std::copysignf(1, a);
 
    std::cout << (i == -1 ? "Negative" : "Positive") << std::endl;
 
    _getch();
}
Yandex
Объявления
05.10.2016, 05:44     Как узнать знак числа?
Ответ Создать тему
Опции темы

Текущее время: 01:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru