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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 38, средняя оценка - 4.95
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 180
#1

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

03.06.2011, 18:20. Просмотров 5197. Ответов 6
Метки нет (Все метки)

как узнать знак числа для float или double.
пишу в win32.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2011, 18:20     Как узнать знак числа?
Посмотрите здесь:

C++ Как узнать длину числа?
Даны действительные числа x, y. Если они имеют разный знак, вывести их на экран C++
C++ Изменить знак числа типа int на противоположный, используя битовые операции.
Создать функцию, возвращающую знак числа – символ ‘+’ (плюс) или ‘–‘ (минус) C++
Определить, сколько раз в последовательности меняется знак числа C++
C++ Как узнать в програме сколько раз числа меняются с чётного на нечётное?
Определить знак числа, используя битовые операции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
03.06.2011, 18:21     Как узнать знак числа? #2
Прировнять к нулю, не ?
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.06.2011, 18:23     Как узнать знак числа? #3
Цитата Сообщение от asics Посмотреть сообщение
Прировнять к нулю, не ?
мб сравнить с нулем?)
asics
Freelance
Эксперт C++
 Аватар для asics
2842 / 1779 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
03.06.2011, 18:25     Как узнать знак числа? #4
Цитата Сообщение от Maxwe11 Посмотреть сообщение
мб сравнить с нулем?)
Да да, просто не так выразился.
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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
Сообщений: 59
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++ Знак числа
Очень большие числа: узнать, есть ли остаток от деления одного числа на другое C++
C++ Отделить один знак из 5-значного числа
C++ Миллионный знак числа Пи
Знак числа и десятичный вывод C++

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

Или воспользуйтесь поиском по форуму:
meJevin
 Аватар для meJevin
154 / 146 / 57
Регистрация: 18.11.2015
Сообщений: 623
Завершенные тесты: 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     Как узнать знак числа?
Ответ Создать тему
Опции темы

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