Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
13.12.2007, 01:30
|
#1
|
Прописка
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Положительные и отрицательные числа в Си
Подскажите пожалуйста как проверить число на "отрицательность" и "положительность"?
Поиск ничего не дал (((
|
|
|
|
13.12.2007, 01:37
|
#2
|
Гражданин KAZUS.RU
Регистрация: 29.06.2006
Сообщений: 638
Сказал спасибо: 37
Сказали Спасибо 56 раз(а) в 41 сообщении(ях)
|
х‹0="-", x›0="+"
|
|
|
|
13.12.2007, 02:11
|
#3
|
Прописка
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
нда, что-то под вечер совсем туплю. А как тогда перевести число из отрицательного в положительное?
пробовал такое if (m‹0){m=m*(-1);}; - не работает (((
|
|
|
|
13.12.2007, 04:19
|
#4
|
Почётный гражданин KAZUS.RU
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
|
Инвертируй и прибавь единичку
|
|
|
|
13.12.2007, 07:59
|
#5
|
Прописка
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
if (m‹0){m=m*(-1);} работает! Может m обьявлена как unsigned? O_o
|
|
|
|
13.12.2007, 09:30
|
#6
|
Временная регистрация
Регистрация: 06.05.2005
Сообщений: 93
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
Из хелпа кодевижн
unsigned int abs(int x)
returns the absolute value of the integer x.
|
|
|
|
13.12.2007, 12:41
|
#7
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Сообщение от demaven
|
unsigned int abs(int x)
returns the absolute value of the integer x.
|
Если товорить именно об инвертировании, то "abs" выдаст верный результат только в том случае, когда величина x - отрицательна.
P.S. Автор явно прикалывается, а мы и рады вестись... предновогодняя эйфория?
|
|
|
|
13.12.2007, 16:06
|
#8
|
Временная регистрация
Регистрация: 06.05.2005
Сообщений: 93
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
if chislo=ABS(chislo) then pologitelno else otricatelno
просто как две копейки и не надо думать о том, в каком виде представляются отрицательные числа
|
|
|
|
14.12.2007, 08:55
|
#9
|
Вид на жительство
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Сообщение от kongo_ru
|
назови мне число ПИ! целиком. Я-ЗНАЮ.
|
ПИ=(Длина окружности)/(диаметр окружности)
О чем речь?
|
|
|
|
14.12.2007, 16:46
|
#10
|
Прописка
Регистрация: 12.11.2006
Сообщений: 127
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
|
нда... У меня значение выводятся на 7сегментый индикатор с использованием знакогенератора. Так вот положительные температуры выводятся нормально, а отрицательные крякозябрами. abs() не помогает, умножение на (-1) тоже. В чем может быть трабла?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:14.
|
|