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

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

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

Студворк — интернет-сервис помощи студентам
тут опять потребовалась функция возвращающая -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
Студворк — интернет-сервис помощи студентам
Код с ветвлением безупречен, и вот почему.
Всё выясняется при выполнении кода.
Функция sign "ленивая". У меня максимум 2 сравнения,
а у Вас всегда 2 сравнения. Вы экономите мг, теряете кг.
Но этого мало. Для bool выделяется 1 байт вместо 1 бита,
так удобнее, не своё, не жалко. Но 2 байта для "-"? на самом
деле 4, для 64 разрядов вообще 8, это слишком, не так ли.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,312
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
Ответ Создать тему
Новые блоги и статьи
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет Новости компьютерного мира и их обсуждение (4) Салют, шампанское, овации! :drink:
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru