Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.55/65: Рейтинг темы: голосов - 65, средняя оценка - 4.55
Модератор
Эксперт по электронике
8962 / 6728 / 921
Регистрация: 14.02.2011
Сообщений: 23,752

Определение знака числа

20.03.2014, 19:03. Показов 13202. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
тут опять потребовалась функция возвращающая -1 при отрицательном 1 при положительном и 0 при 0 числе
C++ Скопировано
1
2
3
4
5
6
7
8
9
int fnc(int n)
{
 if(n<0)
   return -1;
 if(n>0)
   return 1;
return 0;
 
}
но "это всем известно и никому не интересно"(с) Брыль "Чародеи"

вот изобрел
зацените

C++ Скопировано
1
2
3
4
int fnc(int n)
{
 return 0-(n<0)+(n>0);
}
Добавлено через 3 минуты
вот еще
C++ Скопировано
1
2
3
4
int fnc(int n)
{
 return (n>=0)-(n<=0);
}
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2014, 19:03
Ответы с готовыми решениями:

Определение целостности числа
Люди помогите. Нужно разделить число A на B и определить получается целое число или число с остатком.

определение знака на отрезке функции
kak napisat programmy na c++ dly opredeleniy znaka na otrezke u funkcii

Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака
Определить, является ли введенная строка правильной записью целого шестнадцатеричного числа без знака, но без использования string.

21
0 / 0 / 0
Регистрация: 23.02.2021
Сообщений: 3
19.11.2023, 07:48
Author24 — интернет-сервис помощи студентам
Код с ветвлением безупречен, и вот почему.
Всё выясняется при выполнении кода.
Функция sign "ленивая". У меня максимум 2 сравнения,
а у Вас всегда 2 сравнения. Вы экономите мг, теряете кг.
Но этого мало. Для bool выделяется 1 байт вместо 1 бита,
так удобнее, не своё, не жалко. Но 2 байта для "-"? на самом
деле 4, для 64 разрядов вообще 8, это слишком, не так ли.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12875 / 6739 / 1810
Регистрация: 18.10.2014
Сообщений: 17,066
19.11.2023, 13:55
Цитата Сообщение от AlexanderMal Посмотреть сообщение
Функция sign "ленивая". У меня максимум 2 сравнения,
а у Вас всегда 2 сравнения.
Это грубейше не верно. Производительность кода зависит от машинной семантики, а не от языковой семантики. В варианте с вычитанием только на уровне языка мерещится два сравнения. А в реальности на большинстве аппаратных платформ любые сравнения одних и тех же операндов - это всегда одно-единственное сравнение, даже если в языковом коде их пятьсот.

Цитата Сообщение от AlexanderMal Посмотреть сообщение
Код с ветвлением безупречен, и вот почему.
Нет, код с ветвлением приемлем на языковом уровне, но только в надежде на то, что на аппаратноммуровне компилятор сумеет его превратить в аналог кода с вычитанием.

Цитата Сообщение от AlexanderMal Посмотреть сообщение
Вы экономите мг, теряете кг.
Совершенно не верно.

Цитата Сообщение от AlexanderMal Посмотреть сообщение
Но этого мало. Для bool выделяется 1 байт вместо 1 бита,
так удобнее, не своё, не жалко. Но 2 байта для "-"? на самом
деле 4, для 64 разрядов вообще 8, это слишком, не так ли.
Опять написана ерунда. Не существует никакого "выделения байтов" и никаких "битов" для локальных переменных. Не имеет никакого значения, какие типы вы использовали. Локальные переменные - это абстракция. В результирующем коде все эти переменные либо исчезнут вообще, либо будут сведены к одному и тому же типу, совпадающего по размеру с регистром процессора.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2023, 13:55
Помогаю со студенческими работами здесь

Определение знака зодиака по дате
Помогите пожалуйста сделать листинг программы типа &quot;введите дату\месяц&quot; и выводится определенный знак зодиака. Можно через case или if,...

Цикл while VS C++. Определение знака зодиака
{deleted} Код нужно переписывать в сообщение! Помогите решить проблему. Нужно сделать выполнения цикла пока а меньше 1 или больше 31. ...

Определить цифры целого числа (тип числа - целое без знака)
Определить цифры целого числа( тип числа-целое без знака), вычислить сумму полученных цифр. Помогите ,пожалуйста.

Проверка знака числа
Есть программа, она считает все делители числа и их сумму, но и считает также отрицательные числа. Помогите пожалуйста что бы она считала...

Написать функцию вычисления знака числа
Здравствуйте! Прошу прощения за глупый вопрос, мог бы спросить и у препода, но ждать долго, а сдать хочу досрочно) Задание прикрепил ниже. ...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер