Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.58/73: Рейтинг темы: голосов - 73, средняя оценка - 4.58
G.a.n.g.s.t.e.r
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 94
1

Как отрицательное число сделать положительным

23.05.2012, 19:09. Просмотров 13938. Ответов 14
Метки нет (Все метки)

КАК ОТРИЦАТЕЛЬНОЕ ЧИСЛО СДЕЛАТЬ ПОЛОЖИТЕЛЬНЫМ
Желательно показать на примере))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2012, 19:09
Ответы с готовыми решениями:

Преобразование данных из строки в отрицательное число
Здравствуйте! Имеется ряд строк типа -498.67469 нужно преобразовать в число...

Вывести из каждого столбца последнее отрицательное число
Здравствуйте! Помогите, пожалуйста, решить задачу: пользователь задает размер...

Массив: найти в каждом столбце последнее отрицательное число
Доброго дня! Кто нибудь может подсказать, как вывести из каждого столбца...

Как сделать что бы при расчёте чисел выводилось целое число
Вообщем есть программа которая считает всё только она выводит решение в виде...

Cчитать строку из ListBox как целое число и как вещественное число
какие команды позволяют считать строку из ListBox как целое число и как...

14
Sor
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
23.05.2012, 19:19 2
C++
1
2
3
4
5
6
int fun(int a)
{
if (a<0) {a=-a;
    }
    return a;
}
1
niceonehere
13 / 13 / 0
Регистрация: 14.04.2012
Сообщений: 155
23.05.2012, 19:27 3
Цитата Сообщение от Sor Посмотреть сообщение
a=-a;
+1

или умножить на -1 если не ищите лёгких путей
2
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
23.05.2012, 19:34 4
А модуль зачем ?
C++
1
2
3
#include <math.h>
abs()
fabs()
1
G.a.n.g.s.t.e.r
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 94
23.05.2012, 20:12  [ТС] 5
Цитата Сообщение от niceonehere Посмотреть сообщение
+1

или умножить на -1 если не ищите лёгких путей
спасибо вылетело из головы
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
23.05.2012, 21:15 6
Еще вариант
C++
1
a=~a+1;
Подходит для любого изменения знака.
0
Aesonet
23 / 23 / 10
Регистрация: 04.04.2012
Сообщений: 119
24.05.2012, 11:20 7
По моему самое проще.
C++
1
2
#include <math.h>
fabs(a);
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
24.05.2012, 13:46 8
По моему самое проще.
Зато не интересно, куда интереснее пофилосовствовать
1
The_Immortal
1560 / 496 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
24.05.2012, 15:41 9
mimicria,
Цитата Сообщение от mimicria Посмотреть сообщение
C++
1
a=~a+1;
оО а это как понять? Что делает дельта?
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
24.05.2012, 15:44 10
Цитата Сообщение от The_Immortal Посмотреть сообщение
оО а это как понять? Что делает дельта?
Инверсия битов.
1
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
24.05.2012, 15:48 11
оО а это как понять? Что делает дельта?
Инверсию битов, а еще умно выглядет
1
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
24.05.2012, 16:44 12
Цитата Сообщение от Avazart Посмотреть сообщение
Инверсию битов, а еще умно выглядет
Помимо умного вида, это еще и очень полезная конструкция. Например, в некоторых ассемблерах есть операция
Assembler
1
NEG A
, по сути осуществляющая смену знака.
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
24.05.2012, 20:51 13
Чесно говоря раньше я почему то считал что достаточно изменить самый старший бит в числе, но выходит это не так.
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
24.05.2012, 21:10 14
Цитата Сообщение от Avazart Посмотреть сообщение
Чесно говоря раньше я почему то считал что достаточно изменить самый старший бит в числе, но выходит это не так.
Старший бит отвечает за знак, а остальные за значение. Битики у -1 выглядят как 0xFFFF, т.е. все установлены в 1.
Соответственно инверсия даёт 0x0000, потом +1 = 1
0
Avazart
Эксперт С++
7723 / 5632 / 549
Регистрация: 10.12.2010
Сообщений: 25,402
Записей в блоге: 17
24.05.2012, 21:14 15
Чет раньше думал что так и будет 0x1001 (недостатки образования )
0
24.05.2012, 21:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2012, 21:14

Как сделать запрос, конкатенирующий число с полем memo? SQL для ADOQuery
Есть таблица TakeOutKind, а в ней поля: Code (длинное целое), TakeOutKind...

Просматривая компоненты файла с конца, заменять каждое отрицательное число на 0, если оно стоит перед положительным числом
Дан файл, компонентами которого являются целые числа. Просматривая компоненты...

Как сделать число положительным через арифметические операции?
Есть отрицательное число, которое получается операцией (a - b) Вопрос: как...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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