Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/30: Рейтинг темы: голосов - 30, средняя оценка - 4.60
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
1

Какое условие лучше ставить: "меньше либо равно нулю" или "меньше единицы"

07.09.2012, 17:26. Показов 5604. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
if (v <= 0) { /*...*/ }
или
C#
1
if (v < 1) { /*...*/ }
какое условие лучше писать? мне кажется что < 1 быстрее, так как там проверяется v только один раз, а в <= 0 два раза. хотя мне это только кажется...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2012, 17:26
Ответы с готовыми решениями:

Повтор ввода числа, если оно меньше либо равно нулю
Если при вводе число меньше или равно 0 , то повторить его ввод заново #include&lt;stdio.h&gt;...

Почему при условие сравнения "меньше или равно" получается только "меньше"
Почему при условие сравнения &quot;меньше или равно&quot; получается только &quot;меньше&quot;

Протабулировать функцию на интервале 0.5(меньше-либо-равно)Х(больше-либо-равно) 1.6 с шагом h=0.1; y=cos(x-p/3)-2x-log(x)
помогите пожалуйста...в паскале нужно

Условные операторы больше либо равно и меньше либо равно
Добрый день. Подскажите пожалуйста почему не срабатывает это условие If (PKStartObj &gt;=...

8
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
07.09.2012, 17:34 2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Diagnostics;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var sw = new Stopwatch();
            sw.Start();
            for (int i = 0; i < 1000; i++)
                for (int j = 0; j < 1000; j++)
                    for (int c = 0; c < 1000; c++)
                        if (c <= 1000)
                            continue;
            sw.Stop();
            Console.WriteLine(sw.Elapsed);
            sw.Restart();
            for (int i = 0; i < 1000; i++)
                for (int j = 0; j < 1000; j++)
                    for (int c = 0; c < 1000; c++)
                        if (c < 1001)
                            continue;
            sw.Stop();
            Console.WriteLine(sw.Elapsed);
        }
    }
}
занятно да?
2
m0nax
07.09.2012, 17:41
  #3

Не по теме:

фига себе, разница ровно в два раза,я думал они одинаковые вообще либо разница в наносекундах будет

0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
07.09.2012, 17:42 4
Цитата Сообщение от m0nax Посмотреть сообщение

Не по теме:

фига себе, разница ровно в два раза,я думал они одинаковые вообще либо разница в наносекундах будет

там первый вариант был со стартом вместо рестарта (т.е. счетчик не обнулялся, мой косяк)
одинаковые они примерно
з.ы. <= работает таки чуть быстрее по моим тестам хотя проверять надо много раз чтобы не было случайностей
0
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
07.09.2012, 17:50 5
да теперь в релиз версии без отладчика разница 1-3мс, это уже выписывается банально в погрешности самого Stopwatch и всякие левые факторы
0
29 / 27 / 4
Регистрация: 16.11.2011
Сообщений: 147
07.09.2012, 17:55  [ТС] 6
хм, действительно, <= работает чуток быстрее

Добавлено через 51 секунду
00:00:03.2870716 //<=
00:00:03.3443245 //<

Добавлено через 3 минуты
правда если сократить немного цикл

C#
1
/*for (int i = 0; i < 1000; i++) for (int j = 0; j < 1000; j++) */for (int c = 0; c < 1000; c++) if (c <= 1000) continue;
то наоборот < быстрее чем <=

зЮыЮ Вобщем понял я что надо смотреть по конкретной ситуации =)
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
07.09.2012, 17:57 7
полагаю это потому что они тупо одинаковые
просто в какой то момент у вас то на одном то на другом цикле просыпается проверка сборщика мусора или еще какая фигня случается и на пару милисекунд дольше один получается
0
5 / 5 / 3
Регистрация: 21.08.2012
Сообщений: 205
08.09.2012, 03:41 8
C#
1
 sw.Restart();
у меня на это ругается, подскажите почему?
0
Эксперт .NET
17791 / 12942 / 3381
Регистрация: 17.09.2011
Сообщений: 21,219
08.09.2012, 12:11 9
Мне больше интересно другое: сценарий, при котором разница межу < и <= являлась бы узким местом в приложении и требовала соответствующей оптимизации.

А то у меня уже рефлекторно подключается мысль: если разработчик занят подобного рода "оптимизациями", то ему нечем больше заняться, а значит можно подбросить работенки.
0
08.09.2012, 12:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.09.2012, 12:11
Помогаю со студенческими работами здесь

Операции больше либо равно, меньше либо равно и т.д
Задача состоит в том чтоб выделить из текста знаки сравнения например Буква знак операции Буква...

Реализовать условие "больше или равно", "меньше или равно" для простых дробей в классе
как реализовать условие больше или равно, меньше или равно для простых дробей в классе?

Найти сумму квадратов всех целых чисел от а до 50 (значение а вводится с клавиатуры: а больше или равно 0 и меньше или равно 50)
Найти сумму квадратов всех целых чисел от а до 50 (значение а вводится с клавиатуры: а больше или...

Как прописать условие не меньше и не равно?
К примеру это выражение &quot;!=&quot; означает не равно, но как будет выглядеть не меньше и не равно?

Если сумма значений меньше единицы, меньше заменить полусуммой двух оставшихся
import math print (&quot;Здравствуйте, подготовьте значения для ввода переменных&quot;) ...

Скрыть элемент если значение переменно больше/меньше либо равно
Здравствуйте, Уважаемые форумчане. Подскажите, как правильно реализовать код. Требуется скрыть...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru