Как перевернуть знак?
В python, чтобы поменять знак какого-либо числа в переменной num , надо записать -num :
print(-a) # -5 print(-b) # 2
Как сделать положительное число?
Быстрый способ
Чтобы перевести любое число в ранг положительных, нужно написать abs(num) :
print(abs(a)) # 5 print(abs(b)) # 2
Почему этот способ самый быстрый?
Этот способ самый быстрый, т.к. здесь используется встроенная функция, написанная на быстром Си, и она будет быстрее любого другого способа с использованием других встроенных функций.
Математический способ
Это более медленный и длинный в написании способ. Для этой задачи не рекомендую его использовать.
Записать можно по-разному, но я приведу два различных способа:
print((a**2)**0.5) # 5 print((b**2)**0.5) # 2
from math import pow, sqrt print(sqrt(pow(a, 2))) # 5 print(sqrt(pow(b, 2))) # 2
Как это работает?
Чтобы получить модуль числа (то же число, только всегда положительное) число надо возвести в квадрат и извлечь квадратный корень.
В питоне можно по-разному записать эти операции, один способ — ** (возведение в степень), другой — воспользоваться встроенной библиотекой math .
Возведение в 2 степень — возведение в квадрат, а в 0.5 — эквивалентно извлечению квадратного корня.
Также для возведения в степень можно использовать функцию math.pow , а для извлечения квадратного корня — math.sqrt .
Вывод
Наш выбор для создания положительного числа — использовать функцию abs !
Соединяя инверсию знака с созданием положительного числа мы получаем следующее:
Чтобы перевести любое число num в ранг отрицательных, надо записать -abs(num)
print(-abs(a)) # -5 print(-abs(b)) # -2
Ремарки
- Для простоты понимания я опустил деталь, что при использования математического способа результат — float , а не int , и при выводе .0 добавляется к числу.
- Изначально в вопросе просилось сделать отрицательное число.
Как отрицательное число сделать положительным
ГСЧ = Новый ГенераторСлучайныхЧисел
Число = ?(Число<0,ГСЧ.СлучайноеЧисло(1,999999999999),Число) - если не важно, какое положительное число будет.
(4) если не важно, тогда Число = ?(Число<0,7,Число); - быстрее должно работать "Дятлы атакуют!"©
(2)
х=-х >:)
: Неопознанный оператор
При проверке модуля обнаружены синтаксические ошибки!
(0) стрзаменить(ч,»-«,»+»)
а слабо без использования символа «-» сделать?
(9) Без проблем:
X = SQRT(X*X)
(10) не, ну я имел в виду чтоб и из плюса минус делало
Ой.. посмешили в конце дня. хоть какой-то позитив
Я прочитал заголовок темы и завис.
(12) Сообщить(число(Символ(45) + Х));)
(8) ты правда так делаешь?
Попытка
SQRT(X);
Исключение
Х=0-X;
КонецПопытки;
(16) да а еще я люблю спрашивать у админов «А что означает: формат драйв це, комплит?»
(14) это дзен-ветка
(15) не считается
(17) «-» есть
На сях можно битовыми операциями в минус загнать.
(20) зато если нету :Р
Можно сделать регистр накопления, выполнить расход и получить итог ))
(21) не уверен, что правильно помню, но ИМХО (битовая инверсия)+1
типа
11111111 — это -1
11111110 — это -2 и т.д.
НовЧисло = 0;
Флаг = Ложь;
Для Сч = Число По 0 Цикл
Флаг = Истина;
НовЧисло = НовЧисло+1;
КонецЦикла;
Число = ?(Флаг, НовЧисло, Число);
еще
х=число(стрзаменить(сокрлп(х),»-«,»»));
х = х * окр(cos(3)) 🙂
(25) Вроде бы в INTах (не unsigned которые) первый бит знаковый, т.е. 10000001 — -1 и т.д.
НовЧисло = 0;
Флаг = Ложь;
Для Сч = Число По 0 Цикл
Если Не Флаг Тогда
Флаг = Истина;
Продолжить;
КонецЕсли;
НовЧисло = НовЧисло+1;
КонецЦикла;
Число = ?(Флаг, НовЧисло, Число);
А то на 1 больше получится
Как отрицательное число сделать положительным
Преобразование данных из строки в отрицательное число
Здравствуйте! Имеется ряд строк типа -498.67469 нужно преобразовать в число для дальнейшей.

Вывести из каждого столбца последнее отрицательное число
Здравствуйте! Помогите, пожалуйста, решить задачу: пользователь задает размер массива рандомных.
Массив: найти в каждом столбце последнее отрицательное число
Доброго дня! Кто нибудь может подсказать, как вывести из каждого столбца последнее отрицательное.
35 / 35 / 10
Регистрация: 24.11.2011
Сообщений: 309
1 2 3 4 5 6
int fun(int a) { if (a0) {a=-a; } return a; }
Как отрицательное число сделать положительным
Не пойму, экстрасенсы все, что ли. как вы на такие вопросы отвечаете?
Zimba, имеем два числа:
-1,123546 и -1,123456
у вас округление до трех знаков — что должно получится?
Страницы: 1
Читают тему
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |