2SM: Про цикл 256 -- Вы назвали "дыркой" компилятора тот простой факт (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
|
Отправлено
bialix 01 декабря 2003 г. 10:32
|
|
|
|
что байтовая переменная при инкременте от значения 0xFF переходит к 0x00? Так что ли? А что, использование правил двоичной арифметики -- это использование "дырок" в компиляторе? Ах, да простите. Не дырка -- дырища. Похоже у половины пристутсвующих здесь такие огроменные шоры на глазах, что мне просто за вас всех страшно. Вы не умеете смотреть на мир открытым взглядом.
Моя позиция обоснована и проверена. Ни о каких "дырках" компилятора речь не идет. Даже Bill со мной согласился, что так можно. А уж у него пожалуй опыт программирования на порядок больше чем у меня. Ориентация на djnz ничего не значит. В других процах там будет другая конструкция.
Всем до сих пор сомневающимся предлагаю просто проверить в своем компиляторе вот этот пример. Я лично запускал его и в Visual C++ и в C++Builder -- в любом компиляторе получается программа, в которой цикл выполняется 256 раз. И это значит ДЫРКА???!!!
В голове у Вас у всех дырка. Однозначно. ...[вырезано цензурой]...
#include "stdio.h"main()
{
unsigned int counter = 0;
unsigned char i = 256;
do
{
counter++;
} while( --i != 0 );
printf("Counter=%d\n", counter);
}
PS: А я-то дурак думал, что хоть уважаемые люди типа SM не будут пороть чушь. Я ошибся. На кого же теперь равняться?
Нет слов. После того, как нас покинул орел у всех мозги позакисали.
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Ответ: а давайте попробуем еще алгоритмы: — elpm (01.12.2003 18:28, 202 байт)
- Поставьте перед началом цикла "печать i" в бинаре. Что написало? — :) (01.12.2003 16:48, пустое)
- Ответ: 0 — SМ (01.12.2003 16:59, пустое)
- Вот вам кааанкретный пример. (+) — SМ (01.12.2003 14:05, 1794 байт)
- так и не получил ответа на свой вопрос: какой глубокий смысл в присваивании переменной типа char значения 256, которое при этом автоматически становится нулем? — .......... (01.12.2003 13:46, пустое)
- Я просто фонарею! Вы че, Си плохо изучали? Команда do подразумевает один лишний цикл по определению. Итог N=255+1 — :) (01.12.2003 12:58, пустое)
- Какие то рассуждения ни о чем. — a123 (01.12.2003 12:18, пустое)
- в "детстве" играли в такую игру — yes (01.12.2003 11:52, 284 байт)
- Ребята вы задолбали... Я не программист поэтому обьясните.. i я так понимаю локальная переменная, и расход памяти (даже скорее всего она регистровая)в программе увеличится на один байт, вне зависимости ат количества циклов. Тав чем прикол? — si (01.12.2003 10:58, пустое)
- мне кажется вы не поняли про что имел ввиду SM - мне казалось что он сказал что это ситуация не требует такого пристального внимания и является просто ньюансом. вообщем это мое мнение - просто таких вещей очень много - теоретически это все красиво и правилоьно - но практически выигрыша не дает потому что - это ловля блох - тоесть в другом месте можно выиграть тонны - а в этом месте ловится грамм ;-)) — пусто (01.12.2003 10:50, пустое)
- может я канешна лезу в какие-то взаимоличные разборки, но вопрос - что по Вашему должен такой цикл выполнять? — yes (01.12.2003 10:42, 201 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru