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

Как в VC++ получить абсолютное значение для int??? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Rustam4853
3 / 3 / 0
Регистрация: 31.03.2011
Сообщений: 20
31.03.2011, 19:20     Как в VC++ получить абсолютное значение для int??? #1
Я много искал ... ничего не могу толком найти ... и гуглил .. и в яндексе рылся .... кто нить хелп плиз....
Как получить абсолютное значение для integer числа????? какая ф-ция используется??? или если нет ф-ции какой алгоритм замутить, с использованием чего???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2011, 19:20     Как в VC++ получить абсолютное значение для int???
Посмотрите здесь:

C++ Как передать функции значение int?
Определить произведение наибольшего и наименьшего числа, их абсолютное значение C++
Заменить все отрицательные элементы массива на их абсолютное значение C++
Как из CString получить int ... заранее спасибо!! C++
C++ Определить, какое абсолютное значение встречается в массиве чаще остальных
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ma3a
Эксперт C++
612 / 456 / 31
Регистрация: 28.01.2011
Сообщений: 605
31.03.2011, 19:22     Как в VC++ получить абсолютное значение для int??? #2
C++
1
2
3
4
#include <cmath>
...
int a = -5;
int b = abs(a); // b == 5
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
31.03.2011, 19:23     Как в VC++ получить абсолютное значение для int??? #3
abs из cmath
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 19:31     Как в VC++ получить абсолютное значение для int??? #4
Можно с битами поиграть.)
C++
1
2
3
4
int value = ...;
const int mask = value >> sizeof(int) * 8 - 1;
unsigned int absoulte = (value + mask) ^ mask;
// или  absolute = (v ^ mask) - mask;
Добавлено через 38 секунд
C++
1
2
3
int v = ...;
if( v < 0 )
    v *= -1;
Чем не алгоритм? .))))
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
31.03.2011, 19:34     Как в VC++ получить абсолютное значение для int??? #5
Deviaphan,
C
1
#define ABS( x ) ( x>0 ? x : -x )
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 19:49     Как в VC++ получить абсолютное значение для int??? #6
С ифом круче. Прослеживается алгоритм. Можно блок-схему нарисовать.
Rustam4853
3 / 3 / 0
Регистрация: 31.03.2011
Сообщений: 20
31.03.2011, 19:51  [ТС]     Как в VC++ получить абсолютное значение для int??? #7
Deviaphan, это смахивает на издевку ))) я же не настолько глуп ))) просто сегодня день был трудный (((( своей головой думать ооооочень не хочется )) а сделать надо )))
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
31.03.2011, 20:06     Как в VC++ получить абсолютное значение для int??? #8
Цитата Сообщение от Rustam4853 Посмотреть сообщение
это смахивает на издевку
Ну прости меня, abs.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
01.04.2011, 14:30     Как в VC++ получить абсолютное значение для int??? #9
Цитата Сообщение от alex_x_x Посмотреть сообщение
Deviaphan,
C
1
#define ABS( x ) ( x>0 ? x : -x )
В случае Си++ лучше не использовать макрос, ибо есть inline функции. Тем более, что этот макрос с побочными эффектами
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.04.2011, 16:12     Как в VC++ получить абсолютное значение для int??? #10
Evg, а этот ?
C
1
#define ABS(x) ((x) > 0 ? (x) : -(x))
slice
32 / 75 / 4
Регистрация: 04.11.2010
Сообщений: 249
01.04.2011, 16:14     Как в VC++ получить абсолютное значение для int??? #11
silent_1991
C++
1
ABS(v++)
*trollface*
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.04.2011, 16:15     Как в VC++ получить абсолютное значение для int??? #12
slice, да, действительно, об этом не подумал)))
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16824 / 5245 / 320
Регистрация: 30.03.2009
Сообщений: 14,125
Записей в блоге: 26
01.04.2011, 16:27     Как в VC++ получить абсолютное значение для int??? #13
*** del
Не заметил, что уже всё написали
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
01.04.2011, 22:51     Как в VC++ получить абсолютное значение для int??? #14
Цитата Сообщение от Evg Посмотреть сообщение
В случае Си++ лучше не использовать макрос, ибо есть inline функции. Тем более, что этот макрос с побочными эффектами
ну про инлайн то понятно, а какие тут могут быть побочные эффекты?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
01.04.2011, 22:56     Как в VC++ получить абсолютное значение для int??? #15
alex_x_x, один уже назвал slice. Другой был, полагаю, такой:
ABS(a - b) // a < b
По идее должно получиться b - a, но ваш вариант выдаст -a - b.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2011, 22:58     Как в VC++ получить абсолютное значение для int???
Еще ссылки по теме:

Получить значение часа из переменной int C++
C++ Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел
C++ Абсолютное значение iobj ?

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

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
01.04.2011, 22:58     Как в VC++ получить абсолютное значение для int??? #16
silent_1991, да точно
мне почему-то в голову первое лезет ABS(x) =
Yandex
Объявления
01.04.2011, 22:58     Как в VC++ получить абсолютное значение для int???
Ответ Создать тему
Опции темы

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