У больших компьютеров память для программ и память для переменных это одно большое ОЗУ.
Если все компьютеры с фон-Неймановской архитектурой относить к большим, то среди последних окажутся также ZX-Spectrum, Радио РК-86 и даже Altair 8800 с 256 байтами ОЗУ.
sketch_feb03a.ino:5:26: warning: comparison is always true
Во-во. И цикл становится бесконечным. А в IDE по умолчанию предупреждения подавлены, чтобы не пугать лохов, так что это может стать серьёзной проблемой.
Так какой пример, по Вашему мнению, показателен для такого случая? Мои два цикла что с i<SIZE , что i<=SIZE-1 мотают одинаково - с переполнением и заходом на новый круг.
Т.е. полное отсутствие цикла экврвалентно его 256 проходам?
Извините, я не понял этот чудесный набор слов. Где отсутствие цикла? Ну х с ним, #define SIZE 256, ну не выполнится первое условие, ну не выполнится второе , но выполнится #else, и переменная i будет объявлена unsigned long. Не оптимально? - Да. не оптимально. Код рабочий? - да, код рабочий. ;)
Но правильно было бы записать, конечно
#elif (SIZE>=256 && SIZE< 65535)
тут спорить не о чем, Ваше первое замечание абсолютно резонное.
Почему именно так: <=SIZE-1? А то я всю дорогу пишу <SIZE, но уже , блин, не один раз обжегся на том, что вроде бы очевидные для меня вещи на самом деле оказываются не тем, что я о них представлял. :)
Скорее всего авторы страхуются от ситуации когда SIZE не определён, то есть в коде стоит:
Изучите пожалуйста внимательно - http://diy.lilitko.ru/reviews/CoverMonastery.htm
Мне и DetSimen особенно пункт 7 понравился. Хорошие налоги святые сёстры установили :)
Ну про вывод в офшоры
Это про Интерконнект?
У больших компьютеров память для программ и память для переменных это одно большое ОЗУ.
Если все компьютеры с фон-Неймановской архитектурой относить к большим, то среди последних окажутся также ZX-Spectrum, Радио РК-86 и даже Altair 8800 с 256 байтами ОЗУ.
Мне это кажется паранойей.
А мне это кажется вопиющим игнорирование случая SIZE==256.
А мне это кажется вопиющим игнорирование случая SIZE==256.
Мне это кажется паранойей.
А мне это кажется вопиющим игнорирование случая SIZE==256.
Одно другому не мешает.
Но компилятор действительно бормочет:
Во-во. И цикл становится бесконечным. А в IDE по умолчанию предупреждения подавлены, чтобы не пугать лохов, так что это может стать серьёзной проблемой.
Так какой пример, по Вашему мнению, показателен для такого случая? Мои два цикла что с i<SIZE , что i<=SIZE-1 мотают одинаково - с переполнением и заходом на новый круг.
Ну, может и не показателен.. Я хотел идею объяснить про типовость и бестиповость, а пример, возможно, и неудачный второпях придумал.
да уж - 2 страницы флуда на такой простой вопрос...
вы еще забыли вариант инвертирования внутри цикла ) а это тоже бывает удобно, когда надо сразу и в + и в - считать
А мне это кажется вопиющим игнорирование случая SIZE==256.
Т.е. полное отсутствие цикла экврвалентно его 256 проходам?
Т.е. полное отсутствие цикла экврвалентно его 256 проходам?
Извините, я не понял этот чудесный набор слов. Где отсутствие цикла? Ну х с ним, #define SIZE 256, ну не выполнится первое условие, ну не выполнится второе , но выполнится #else, и переменная i будет объявлена unsigned long. Не оптимально? - Да. не оптимально. Код рабочий? - да, код рабочий. ;)
Но правильно было бы записать, конечно
#elif (SIZE>=256 && SIZE< 65535)
тут спорить не о чем, Ваше первое замечание абсолютно резонное.
ELITE.Радуйтесь, что не затронули вопрос как в цикле писать ++i, i++ или же i =+1 ;)
Хотя такой вариант еще хуже for (int i = 0; ++i <= 5;)
ELITE.Радуйтесь, что не затронули вопрос как в цикле писать ++i, i++ или же i =+1 ;)
Хотя такой вариант еще хуже for (int i = 0; ++i <= 5;)
Да нафиг тот for?
Эмммм..... не, не кошерно. Так более лучшее для индексации массивов:
Дабы не плодить тем, напишу тут.
Читаю Харви и Пола Дейтел "Как программировать на С". Все примеры они пишут типа :
Почему именно так: <=SIZE-1? А то я всю дорогу пишу <SIZE, но уже , блин, не один раз обжегся на том, что вроде бы очевидные для меня вещи на самом деле оказываются не тем, что я о них представлял. :)
Скорее всего авторы страхуются от ситуации когда SIZE не определён, то есть в коде стоит:
ELITE.Радуйтесь, что не затронули вопрос как в цикле писать ++i, i++ или же i =+1 ;)
Хотя такой вариант еще хуже for (int i = 0; ++i <= 5;)
хуже? очень спорно... если четко понимать отличия между i++ и ++i то это очень даже полезно бывает )
орсобено если надо выйти за рамки цикла без дополнительных вычислений или если использовать цикл where
Так вроде бы хужее, так как для индексации надо в этом случае [i-1] использовать. Получится число лишних опреаций = SIZE, как минимум.
Для чего нужен цикл - не написано. В нем может быть и инкремент указателя.