Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Неточно. Я объяснение толковое прочитал по таким конструкциям уже давно. И неск. недель назад >>
Отправлено
VasilyS
18 июля 2009, г. 20:56
В ответ на:
Мне-то фули бессильничать? Я объяснение толковое прочитал по таким конструкциям уже давно. Сначала в Хакере, потом в Инете. Но зачем ты вертишься и вертишься как не знаю кто. Что, лицо, страдающее национальностью?(c) Никогда людям от тебя пользы нет.
отправлено пользователем
VasilyS
18 июля 2009, г. 15:46
уже приводил идиому:
x || f()
компилируется аналогично
if( !x ) f();
Но ты ж не читатель...
Составить ответ
|
Вернуться на конференцию.
Ответы
Я не понимаю, что непонятно. Именно потому, что такая конструкция так работает (ну ещё приоритеты и группирование остальных операций работает), OO уменьшается только в начале строки, во всех остальных первое выражение в || больше 0 и до второго не доходит.
-
ReAl
(19.07.2009, 13:15:39
89.162.152.53
,
пустое
)
Это не просьба помочь. По крайней мере - не мне. Я просто утверждаю, что этот (из раздела "трюков", где он и найден и описан), с позволения сказать, фрагмент может быть полезным здесь. А мой оппонент утверждает что это тривиально и не имеет ни смфсла ни пользы его здесь приводить. Что ж, будем флудить про Украинские драки в Раде.
-
VasilyS
(19.07.2009, 16:25:50
80.92.96.25
,
пустое
)
Блин, ты действительнго на С никогда не программировал - для тебя откровение не как замаскировали в этом примере, а как работают обычные широко используемые операции. По "Хакеру" видимо учился программировать. Мельчает народ...
-
Oldring
(19.07.2009, 04:59:10
91.76.59.152
,
пустое
)
М-дяя, видимо, приведенная задачко, приведенная лишь для соблюдения субботы, перегрузила твой мозг. Пошли спонтанные и неуправляемые причинно-следственные гипотезы. Знай, что языки надо учить постоянно, по книгам, журналам, инету, чужим исходникам. И по Хакеру, и по Уоррену, и по Страутрупу. Мне жаль тебя, навсегда отставшего. Вот к чему приводит чистоплюйство. Хакер? Пуркуа па? Только не виляй и не мешай другим поднимать кругозор.
-
VasilyS
(19.07.2009, 09:31:25
80.92.96.25
,
пустое
)
Малыш, С слишком примитивный язык программирования, чтобы его "учить постоянно". Ну а чтобы понять свойства его основных операций, уверен, тебе было бы достаточно один раз прочитать нормальный учебник, а не изучать язык программирования по журнальчикам для подростков..
-
Oldring
(19.07.2009, 12:13:1
91.76.59.152
,
пустое
)
Слова дилетанта. Да ты и есть дилетант. Изучать надо постоянно. Си, ++, Шарп, Java? Linux и т.п. "Нормальный учебник" все равно не даст 3D представления, ибо тот же Си более неисчерпаем, чем может вместить твой слабый ум. В этой конфе осталось мало людей Приносящих. Вот от тебя толку никогда не было. Политфлуд не заменит время от врмя появляющихся здесь энтузиастов, приглашающих к изучению вроде бы уже изученного. А ты? Пустельга ты бесполезная.
-
VasilyS
(19.07.2009, 16:17:13
80.92.96.25
,
пустое
)
Дывай, давай, продолжай изучать неисчерпаемые операторы С :D
-
Oldring
(19.07.2009, 18:17:24
91.76.59.152
, 58 байт)
Вот именно - описано двумя абзауами в стандарте и разжёвано двумя страницами в K&R, но это уже "трюк", достойный специального сайта трюков. (+)
-
ReAl
(19.07.2009, 18:46:45
89.162.152.53
, 466 байт)
Для кульных хацкеров :D
-
Oldring
(19.07.2009, 18:48:51
91.76.59.152
,
пустое
)
О, я ещё один трюк знаю - если взять верёвку, навязать на ней через одинаковые расстояния узлы, взять отрезки на 3, 4 и 5 межузловых расстояний и слепить треугольник, то на стыке 3- и 4- отрезков будет прямой угол.
-
ReAl
(19.07.2009, 18:55:46
89.162.152.53
, 343 байт)
"Там важно не так отсутсвие break, как взаимопроникновение двух операторов. Не с точки зрения решаемой задачи, естественно, для неё отсутствие break важно, а с точки зрения нетривиальности использования языковых конструкций."
-
ReAl
(19.07.2009, 20:21:22
89.162.152.53
,
пустое
)
Тьху, и я промахнулся.
-
ReAl
(19.07.2009, 20:32:26
89.162.152.53
,
пустое
)
Вот-вот, не всяк знает такое. Назовите книгу, плиз, где среди описания операторов языка Си а примере приведена идиома типа (x)||f();
-
VasilyS
(19.07.2009, 19:12:18
80.92.96.25
,
пустое
)
В последний раз - если человек понимает работу if( x || f() ) {} то он должен без труда понять и работу части этой записи - "голого" выражения (x || f()), результат вычисления которого отбрасывается за ненадобностью, как и результат вычисления присваивающего выражения a = b; Второе чаще применяется "само по себе", но бывает и как x = a = b; и как if( a = b) {}. Первое чаще стоит под if(), но может применяться само по себе. Принципиальной разницы
-
ReAl
(19.07.2009, 19:49:37
89.162.152.53
, 34 байт)
Хорошо. В последний раз и я. Думаю, что перестановка бит, swap 2 переменных без участия третьей, itoa, Cишный JMP 0, трюки со стеком и выходом из прерываний, машина Даффа, хитрые макросы есть предмет этой конфы. Пример приведен чтобы Ющенко выздоровел, кровавая гебня наконец унялась, а заходящие в эту конфу не плевались. Почему никто не проводит здесь культуртрегерскую работу. Заодно, уверен, кому-то трюк с || в диковинку.
-
VasilyS
(19.07.2009, 19:59:44
80.92.96.25
,
пустое
)
Цитату из стандарта, говорящую, что выражение с || вычисляется таким-то и таким-то образом я уже приводил. В том месте стандарта не уточняется - обязан результат выражения использоваться под if() или в виде flag = x || f(); или вообще выражение может стоять само по себе (как обычно и стоят присваивающие выражения), так что порядок вычисления выражения не зависит от того, стоит оно одно или (+)
-
ReAl
(19.07.2009, 19:59:2
89.162.152.53
, 818 байт,
ссылка
)
Здесь - да, уверен, идет для многих как откровение, как фокус. Вспомните, тут люди не понимают различий jmp 0 из обработчика для AVR и 51. Здесь начинающим - примерами содержащими ключи __eeprom советуют пользоваться без предупреждения об опасности. Вым ли этого не знать, не знать сегодняшнего уровня этой конфы?
-
VasilyS
(19.07.2009, 20:07:54
80.92.96.25
,
пустое
)
Не думаю что можно мало-мальски серьезно программировать на любых алголоподобных языках программирования не имея понятия про побочные эффекты выражений и про порядок их вычисления.
-
Oldring
(19.07.2009, 18:59:48
91.76.59.152
,
пустое
)
Но ты-то, оказывается, НЕ ЗНАЛ о switch без break в размотке циклов. :-) Мели дальше, Емеля. Соском жил, соском и помреж :-)
-
VasilyS
(19.07.2009, 19:09:18
80.92.96.25
,
пустое
)
Чего-чего я не знал? :D Продолжай - я смеюсь.
-
Oldring
(19.07.2009, 19:14:18
91.76.59.152
,
пустое
)
Повторяю для дурака: Размотка (иногда говорят - раскрутка) циклов с помощью устройства Даффа (циклосодержащая конструкция switch без break). http://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%B7%D0%BC%D0%BE%D1%82%D0%BA%D0%B0_%D1%86%D0%B8%D0%BA%D0%BB%D0%B0
-
VasilyS
(19.07.2009, 19:19:8
80.92.96.25
,
пустое
)
Вот правильная ссылка, а не то что ты думаешь.
-
Oldring
(19.07.2009, 19:25:29
91.76.59.152
,
пустое
,
ссылка
)
Чудиииик.... Я ж про размотку. Да и с моей сцылки туда ход идёт, ибо Дафф - лишь механизм.
-
VasilyS
(19.07.2009, 19:33:46
80.92.96.25
,
пустое
)
Ты просто до сих пор понять не можешь весь прикол реализации Даффа - передача управления по сase меткам внутрь тела вложенного цикла.
-
Oldring
(19.07.2009, 19:36:30
91.76.59.152
,
пустое
)
Опять пальцем в попу... Я ж сказал "циклосодержащий switch". Это ж ясно. Удивительно почему не дошло.
-
VasilyS
(19.07.2009, 19:40:32
80.92.96.25
,
пустое
)
http://www.telesys.ru/wwwboards/mcontrol/2426/messages/818452.shtml
-
ReAl
(19.07.2009, 19:11:37
89.162.152.53
,
пустое
,
ссылка
)
Не понял. Это я читал.
-
VasilyS
(19.07.2009, 19:14:4
80.92.96.25
,
пустое
)
Во, это тут надо: "Там важно не так отсутсвие break, как взаимопроникновение двух операторов. Не с точки зрения решаемой задачи, естественно, для неё отсутствие break важно, а с точки зрения нетривиальности использования языковых конструкций."
-
ReAl
(19.07.2009, 20:32:57
89.162.152.53
,
пустое
)
Нетривиальной будет задача привязки этого трюка к задаче с изменяющимся во время выдачи числа выдаваемых байт:-) В этом смысле она слабее чем простой цикл с *х =*у++,
-
VasilyS
(19.07.2009, 20:51:38
80.92.96.25
,
пустое
)
У Шульберта было всего 7 нот. Они тоже оказались неисчерпаемыми. Эх ты, верхоплавка. Жаль тебя, убогий. Не старайся вместить в себя больше чем ты есть, а то становишься похожим на презерватив.
-
VasilyS
(19.07.2009, 18:31:53
80.92.96.25
,
пустое
)
Дурак ты, Василий. Так всю жизнь и произучаешь операторы С по Хакеру, каждые полгода совершая новое открытие и считая его гениальным.
-
Oldring
(19.07.2009, 18:44:57
91.76.59.152
,
пустое
)
Дурак - это о тебе. Понял наконец, что Си больше чем ты?
-
VasilyS
(19.07.2009, 19:10:6
80.92.96.25
,
пустое
)
Чем ты. "С99" - это всего-то 550 страниц текста включая индекс и оглавление. Тут уже упоминалась малюсенькая синенькая книжечка, к сожалению, мною утерянная - для всего, что ты тут открыл, её тоже совершенно достаточно. Так что ты даже на 550 страниц не тянешь, получается.
-
Oldring
(19.07.2009, 19:21:27
91.76.59.152
,
пустое
)
Я тогда две купил, "на всякий сулчай" (как и "Законы Паркинсона"). Ну вот по одной осталось.
-
ReAl
(19.07.2009, 20:07:59
89.162.152.53
,
пустое
)
Похоже что знакомство с этой книжечкой означает что человек уже почти полвека как в теме :)
-
Oldring
(19.07.2009, 22:39:7
91.76.59.152
, 155 байт)
Распечатанный на барабанном АЦПУ первый (до-ansi-шный) K&R
-
ReAl
(20.07.2009, 21:34:10
89.162.152.53
,
пустое
)
четверть, разумеется.
-
Oldring
(19.07.2009, 22:39:37
91.76.59.152
,
пустое
)
С99 у меня есть. Практически не применяю (и тебе не советую увлекаться), т.к. неск. раз натыкался на несовместимость 99-ых изысков и С++, на котором приходится работать все больше.
-
VasilyS
(19.07.2009, 19:31:29
80.92.96.25
,
пустое
)
Малыш, почему ты решил, что мне могут быть интересны советы человека, считающего верхом знания порядок вычисления подвыражений || ?
-
Oldring
(19.07.2009, 19:34:43
91.76.59.152
,
пустое
)
Но ведь от тебя ни советов, ни примерчиков вовсе нет :-) Сидишь как сыч и страну ругаешь. Если б ты давал подобные зарисовки - я б не возражал, хотя б и знал.
-
VasilyS
(19.07.2009, 19:38:12
80.92.96.25
,
пустое
)
Какие? Что написано в учебниках, и что каждый нормальный С программист обязательно изучает в первые месяцы работы?
-
Oldring
(19.07.2009, 19:40:14
91.76.59.152
,
пустое
)
Если б ты первый день в конфе этий сидел - я б не удивился: чел не понимает, что здесь есть начинающие ребята, изучающие Си. Их обязательно надо заинтересовать, подсунуть фокус, чтоб они прониклись... Но ты-то знаешь уровень вопросов в этой конфе - почему тебе надо это объяснсть? Удивительно. Политика лучше, да?
-
VasilyS
(19.07.2009, 19:44:34
80.92.96.25
,
пустое
)
Кого заинтересовать? Тебя что-ли? Здесь уже давно не было вопросов от новичков, как я вижу. На Электрониксе тоже не густо. На мой ответ-то ты зачем начал залупаться если такой заботливый о ребятах? Или думаешь что я тоже как и ты "начинаю изучать С"?
-
Oldring
(19.07.2009, 21:51:34
91.76.59.152
,
пустое
)
Я сомневаюсь в том, что ты вообще что-то изучал. Ты и до седых мудей будешь новичком. А страждующие, заглянув сюда, навсегда почувствует отвращение от занятий программированием изза твоей пустой брехни. Ты никогда не поможешь путём.
-
VasilyS
(19.07.2009, 22:10:27
80.92.96.25
,
пустое
)
Ну не тебе оценивать, изучал я что-то или нет. Могу только заметить что когда ты еще пешком под стол ходил я зарабатывал на жизнь програзмом, так что ты меня изрядно посмешил своей наивностью.
-
Oldring
(19.07.2009, 22:32:17
91.76.59.152
,
пустое
)
Я рад, что ты умеешь смеяться над своими неудачами. Я кстати не под стол ходил, а на( или в? :-) ) горшок. А поучить программированию - спрашивай. Что интересует? Могу и под Линукс.
-
VasilyS
(20.07.2009, 00:05:15
80.92.96.25
,
пустое
)
Вот страна потому и в жопе, что народ измельчал... :p
-
Oldring
(19.07.2009, 19:41:2
91.76.59.152
,
пустое
)
И еще настаивающем на своем праве мельчать.
-
Oldring
(19.07.2009, 19:42:52
91.76.59.152
,
пустое
)
Глупый, что ли? Объяснил чуть выше.
-
VasilyS
(19.07.2009, 19:45:50
80.92.96.25
,
пустое
)
Make Love, Not War. Занимайтесь программированием, а не политикой. Конфа загибается. Есть примеры поумнее - приводи. Должен же кто-то быть первым и получать шишки.
-
VasilyS
(19.07.2009, 19:50:23
80.92.96.25
,
пустое
)
Промахнулся. Это надо чуть ниже.
-
VasilyS
(18.07.2009, 20:58:32
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
что получится, если сложить 4 и 4 ?
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru