Сейчас на форуме: zombi-vadim, zds (+4 невидимых) |
![]() |
eXeL@B —› Программирование —› Альтернатива xor |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
Посл.ответ | Сообщение |
|
Создано: 05 августа 2006 03:18 · Личное сообщение · #1 |
|
Создано: 13 августа 2006 00:00 · Поправил: Error_Log · Личное сообщение · #2 Quantum пишет: pad - это не то, куда припаивается pin на плате Специально для особо тупых: Стеки контактных площадок (Pad Stacks) и переходных отверстий (Via Stacks) http://www.radiomaster.ru/cad/pcad/glava2/index7.php Quantum пишет: Эйнштейн что-то говорил о бесконечности или безграничности человеческой глупости, но твоя формулировка мне больше нравится Так ты вместо того, чтобы признать свои ошибки решил спрятаться за чужой спиной? Quantum пишет: 1е на областной по математике Так блесни своими знаниями, или участвуя в обсуждении начиная с 1й страницы так и не смог вывести альтернативу XOR кроме того, что написали другие? Это же самое элементарное, для этого не надо ведь доказывать, что-то вроде lim (sin x)/x = 1, при x->0. Мой тебе совет - хорош косить под клоуна, или меняй тогда себе ник на аццкий атжигатель Аргументируй свои утверждения, и не употребляй жаргон. Я думаю, что на термин PAD гугл выдаст гораздо больше формулировок, чем ты можешь себе представить. ----- Research is my purpose ![]() |
|
Создано: 13 августа 2006 00:58 · Личное сообщение · #3 Error_Log пишет: Стеки контактных площадок (Pad Stacks) и переходных отверстий (Via Stacks) Какое отношение имеют печатные платы ко внутренностям чипов? Ты ещё скажи, что пад - это коврик для мыши. Error_Log пишет: Так ты вместо того, чтобы признать свои ошибки решил спрятаться за чужой спиной? Укажи хотябы одну мою ошибку и докажи, что я ошибся. Буду благодарен. Вопли, типа "RTFM", "жжешь" и т.д. доказательством не считаются. Error_Log пишет: так и не смог вывести альтернативу XOR кроме того, что написали другие? Автор вопроса сам на него ответил. Дополнительные альтернативы ксор можно придумать, но зачем? Мне это не интересно. S_T_A_S_ не спроста намекнул на поля Галуа, но стоит ли использовать лимиты, интегралы, дифференциалы и логарифмы для вычисления xor? Error_Log пишет: Аргументируй свои утверждения, и не употребляй жаргон. Уж кто свои утверждения не аргументирует... Если ты не знаком с терминологией, то это не моя проблема. ![]() |
|
Создано: 13 августа 2006 02:02 · Поправил: Error_Log · Личное сообщение · #4 Quantum пишет: Укажи хотябы одну мою ошибку Quantum пишет: Есть ещё Шмидт триггер, который ничего не хранит По определению триггер - устройство _хранения_ вот http://ru.wikipedia.org/wiki/Триггер_(вычислительная_техника) доказательство Quantum пишет: назовём его логическим усилителем такого термина не знает даже гугл - проверь Quantum пишет: сильно много тока высасывают эти Шоттки жаргон, высказывание человека, вообще далекого от знаний физики Quantum пишет: Логические схемы сейчас реализовываются на ПЛИС Иногда выгоднее использовать FPGA, Quantum пишет: FPGA = Field-Programmable Gate Array возьми переводчик, хотябы Lingvo и он тебе перевод выдаст - программируемая вентильная матрица. Ну, я в курсе. Не кажется, что ты сам себе здесь противоречишь? Quantum пишет: На вводных падах есть триггеры (в количестве 4 или 8...) Как можно говорить о количестве чего-то, не указывая конкретную модель или хотябы семейство? Ссылку я дал, чтобы ты почитал и понял, что Quantum пишет: pad - это не то, куда припаивается pin на плате тут ты опять ошибся. Я не буду продолжать, приводя абсурдные высказывания с предидущих страниц, в этом нет смысла. Quantum пишет: Какое отношение имеют печатные платы ко внутренностям чипов Какое имеют отношение внутренности чипов к альтернативе XOR ? P.S. могу только посочуствовать - видимо ты думаешь, что все форумчане, не понимая твоих высказываний считают тебя шибко умным - рекомендую обратиться к доктору. ----- Research is my purpose ![]() |
|
Создано: 13 августа 2006 02:24 · Поправил: Rascal · Личное сообщение · #5 Quantum пишет: 29 = 5 21 = 5 5 = 5 Это бред. Во первых, числа не пометятся в разрядную секту и о любой операции над ними говорить невозможно. Т.к. результаты должны быть идентичны после операции в десятичной систьеме и в двоичной. Но даже если это и так, то результат будет -1, т.к. старший бит == 1. Это то, чему учат в институте. Удивлюсь, если это будет нечто другое. Хотя от тебя по теории Эйнштейна, с которой ты согласен, можно ожидать всего. Quantum пишет: А ALU для Z80 или для 8080 вполне можно сделать.Кого? Внутри Z80 была микропрограмма??? Могу обьяснить устройство ALU на транзисторном уровне, но боюсь подорвать твою веру в микропрограмму. LOL, человек, ты не ф курсе, что такое микропрограмма? Это то, что потом превращается в функциональную схему, которую "воплощают в кремнии"(тогда уж на кремниевой подложке). То есть алгоритм работы устройства. То есть ты не понимаешь, что такое микропрограмма, может ещё и не понимаешь что такое функциональная схема? И спаяй мне тогда на глазок, без разработки логики работы. Только не подглядывая в готовые схемы, из головы возьми и спаяй. Quantum пишет: Это же справедливо только для однобитных операндов: xor == add == sub. Только для однобитных!!! То есть если бы в мнемокоде not носил название reverse, то говорить о том, что not былол бы нельзя если бы опернад был длиной 2 бита и более, и везде надо было писать reverse??? Это ты придумал??? Когда говорят о логических операциях просто указывают, для какой разрядности её применяют. вот о таком не слышал??? A[0, 2:32]/\B[0, 2:32]. Это было бы не И, как я понял твою гениальную идею. То есть надо придумывыать 2 разных названия для лог функций в зависимости от длины операндоы Quantum пишет: ксор арифметически отличается от однобитного, но об этом попсовые книжки умалчивают Сумма по модулю два - это просто название функции. Это не её назначение. Нигде не указано в названии, что она только для однобитных операндов. Это её свойство, как любой другой функции алгебры логики. Ты вряд ли назовёшь поезд грузовик(хотя я уже в этом не уверен). Но автомобиль это не только грузовик, но и автобус, и легковушка, и джип. Это есть общее название для ЛОГИЧЕСКОЙ функции. У нас в универе выдавались таблицы истинности для функций с 4 аргуметами. Угадай, как называлась функция сумма по модулю два? Пойми, если ты хочешь её называть однобитным ксором и ТРЕБУЕШЬ называть её ксором на наборе с операндами длиной более одного бита, пожалуйста, заблуждайся дальше. Но не порти молодёжь. Пока не получишь звание доктора технических наук, и причём России, то есть ещё придётся стать кандидатом, тогда будешь учить ереси. А то прям как какой-то мужик, который пишет книги по С++ и там вдалбливает, что d pfgbcb int C; C будет объектом. Идя на перекор всем, и радующийся своей догадке. Quantum пишет: Знания и профессиональное образование - 2 большие разницы Я бы ещё понял, если бы человек делал, но не хнал. Но как понять твою фразу, когда человек знает, но не делает? Я например программил на бэйсике и считал что знаю всё. Я был лопухом, и на самом деле знал столько, сколько можно понять за 1 месяц написаний модификаций для программы "Hello, World!". Но если бы я был автором архитектуры виндовс, я бы что ли что-то не умел??? Quantum пишет: Эйнштейн что-то говорил о бесконечности или безграничности человеческой глупости Значит понятно, к чему ты сремишься. ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 13 августа 2006 03:23 · Личное сообщение · #6 Error_Log пишет: По определению триггер - устройство _хранения_ вот доказательство Речь была о триггере Шмидта, который под эту (ту, что в вики) формулировку не укладывается. Error_Log пишет: назовём его логическим усилителем такого термина не знает даже гугл - проверь Теперь есть. Ты не понял из контекста, что это мой термин? Error_Log пишет: сильно много тока высасывают эти Шоттки жаргон, высказывание человека, вообще далекого от знаний физики Я знаю, что с научной точки зрения так говорить нельзя. Но специалисты так говорят - это жаргон. Если ты не слышал этого выражения, то... Error_Log пишет: Иногда выгоднее использовать FPGA, Quantum пишет: FPGA = Field-Programmable Gate Array возьми переводчик, хотябы Lingvo и он тебе перевод выдаст - программируемая вентильная матрица. Ну, я в курсе. Не кажется, что ты сам себе здесь противоречишь? Опять ты вытягиваешь отдельные фразы из общего контекста. Изначально речь шла об ASIC. Потом ты с потолка притащил ПЛИС (я до сих пор не понял зачем ![]() Error_Log пишет: Как можно говорить о количестве чего-то, не указывая конкретную модель или хотябы семейство? Почти все пады стандартные. Кстати, этот факт мною уже упоминался - забыл? Error_Log пишет: pad - это не то, куда припаивается pin на плате тут ты опять ошибся. Все уже давно поняли о каких падах шла речь, но специально для тебя я перефразирую: То, что я называю "pad" в данном топике - это не то, куда припаивается pin на плате [...] Дошло? Error_Log пишет: Какое имеют отношение внутренности чипов к альтернативе XOR ? Вопрос не ко мне - не я первый начал оффтоп. По ходу, выяснилось, что кое-кто считает, что знает как устроены _ВСЕ_ современные процессоры (вычитание заменяют сложением и т.д.) Не мог же я промолчать, позволив распространять подобный бред в массы. Rascal пишет: Это бред. Во первых, числа не пометятся в разрядную секту и о любой операции над ними говорить невозможно. Это уже было. Зачем повторяться? Тем не менее, пожалуй, ты прав. Надо выкинуть на помойку калькуляторы и компьютеры, т.к. гарантировать правильность всех операций они не могут. Rascal пишет: LOL, человек, ты не ф курсе, что такое микропрограмма? Я уже понял что ты называешь микропрограммой. Это описание на ЯВУ, типа VHDL или Verilog, которое можно синтезировать в набор FSM и т.д. до получения прошивки для ПЛИС или описания layout для ASIC. Ну, пусть будет микропрограмма. Rascal пишет: Как найдёшь ошибку - свистни. Нет уж, я первый предложил искать ошибки в своих постах. Не надо перекладывать на меня эту работу. Rascal пишет: Нигде не указано в названии, что она только для однобитных операндов. Считается, что умный человек и так поймёт. ![]() |
|
Создано: 13 августа 2006 04:15 · Личное сообщение · #7 Rascal пишет: То есть хочешь сказать, что компьютер всё-таки вычитает как человек? Говоря про общественное мнение, я лишь выразил удивление принятыми здесь способами аргументации. =) Что же до вычитания... это довольно сложный вопрос. Во-первых, что есть вычитание? Когда человек операции с яблоками заменил числами и знаком -, то получили первый уровень абстракции. Когда вычитать "научили" железо, то перешли на второй уровень абстракции, а именно в теорию чисел и конечных полей. И в любом числовом поле существует противоположное число -a, такое, что a+(-a)=0. То есть, спорить с утверждением, что вычитание можно заменить сложением, не буду =) Но. (во-вторых) Что есть вычитание на железном уровне? Сильно зависит от машинного представления (отрицательных) чисел. Таких представлений можно сочинить множество, но, например, стандарт C99 (§6.2.6.2/2) определяет всего 3: 1) знаковый бит и значение; 2) дополнение до 2; 3) дополнение до 1; И если с дополнительным кодом поиск противоположного числа (-a) довольно прост, то как быть в 1м случае? Можно конечно замутить что-то промежуточное с дополнительным кодом, но кому надо такие тормоза? Массовые CPU выполняют вычитание за количество тактов равное сложению. Тот же x86 работает, кстати, с 2мя представлениями чисел - 3 и 1. И да, думаю, там есть устройство "вычитатель" - наверняка на базе сумматора (но делает заем, а не перенос). ;) А вычитать "как человек", это видимо так:
Дык это обычно очень неэффективно ![]() ![]() |
|
Создано: 13 августа 2006 04:45 · Поправил: S_T_A_S_ · Личное сообщение · #8 Rascal пишет: ты не ф курсе, что такое микропрограмма? Это то, что потом превращается в функциональную схему, которую "воплощают в кремнии" Например, в процах семейства x86 (поздних моделях) для некоторых команд используются микропрограммы - код, прошитый во внутреннем ПЗУ. Rascal пишет: Сумма по модулю два - это просто название функции. Это не её назначение. Нигде не указано в названии, что она только для однобитных операндов. Это её свойство, как любой другой функции алгебры логики. Ты вряд ли назовёшь поезд грузовик(хотя я уже в этом не уверен). Но автомобиль это не только грузовик, но и автобус, и легковушка, и джип. Это есть общее название для ЛОГИЧЕСКОЙ функции. У нас в универе выдавались таблицы истинности для функций с 4 аргуметами. Какое отношение имеет количество операндов к их разрядности? Булева алгебра http://ru.wikipedia.org/wiki/Булева_алгебра оперирует исключительно с истина\ложь. А тот же 32х битный регистр eax - с точки зрения математики скорее многочлен =\ Rascal пишет: какой-то мужик, который пишет книги по С++ и там вдалбливает, что в записи int C; C будет объектом С точки зрения ОО подхода, С - именно объект (экземпляр встроенного класса). Даже записать можно так: int C(); // вызов конструктора по умолчанию
![]() |
|
Создано: 13 августа 2006 11:15 · Поправил: Error_Log · Личное сообщение · #9 Quantum пишет: Речь была о триггере Шмидта, который под эту (ту, что в вики) формулировку не укладывается. Приведу формулировку здесь: Три́ггер — устройство, которое может находиться в одном из двух устойчивых состояний и сохранять его теоретически бесконечно долго. Переключение триггера происходит по входному сигналу извне. При изготовлении триггеров применяются преимущественно полупроводниковые приборы (транзисторы), реже — электронные лампы. В чем же не укладывается под эту формулировку триггер Шмидта? Разве он не способен хранить одно из устойчивых состояний до тех пор пока входной сигнал не выйдет за границу его порога переключения? Quantum пишет: Теперь есть. Ты не понял из контекста, что это мой термин? Надо запомнить дату этого знаменательного события. Quantum пишет: Опять ты вытягиваешь отдельные фразы из общего контекста это отмазка Quantum пишет: Почти все пады стандартные. речь была о: (в количестве 4 или 8...) Quantum пишет: То, что я называю "pad" в данном топике - это не то, куда припаивается pin на плате И это тоже отмазка S_T_A_S_ пишет: (во-вторых) Что есть вычитание на железном уровне? Сильно зависит от машинного представления (отрицательных) чисел Именно так, я уже тоже писал об этом. Другое дело, как оно осуществляется в большинство случаев... ----- Research is my purpose ![]() |
|
Создано: 13 августа 2006 11:25 · Личное сообщение · #10 Три́ггер — устройство, которое может находиться в одном из двух устойчивых состояний и сохранять его теоретически бесконечно долго. Переключение триггера происходит по входному сигналу извне. При изготовлении триггеров применяются преимущественно полупроводниковые приборы (транзисторы), реже — электронные лампы.
Не совсем так, триггер это простейший автомат! Автомат который может находиться только в двух состояниях ИСТИНА и ЛОЖЬ, внешенее воздействие может его перевести в другое противоположное состояние Истина -> Ложь, но может и оставить в этом же! А из чего его сделают, не так уж и важно! К примеру читал, один китайчего световой калькулятор сделал, машина умела слагать, умножать, делить и ряд других. А у нас в голове так вообще сложные химические соаставы, так что говорить о каком-либо материале для реализации триггера не разумно! ----- My love is very cool girl. ![]() |
|
Создано: 13 августа 2006 11:30 · Поправил: Error_Log · Личное сообщение · #11 theCollision В википедии дано несколько определений триггера, это определение относится только к вычислительной технике. К тому же обрати внимание на фразу преимущественно. theCollision пишет: внешенее воздействие может его перевести в другое противоположное состояние Истина -> Ложь, но может и оставить в этом же! Никто и не спорит - аналогично в триггере Шмидта. Впрочем формулировка из википедии этому не противоречит. ----- Research is my purpose ![]() |
|
Создано: 13 августа 2006 14:37 · Личное сообщение · #12 S_T_A_S_ пишет: С точки зрения ОО подхода, С - именно объект (экземпляр встроенного класса). Не всё так просто. Класс содержит в себе определение данных и методы их обработки. Объект есть экземпляр класса. Так вот где в нём члены данные. И методы их обработки? Это ТИП, причём встроекнный, причём авторы языка (точнее Бьерн Страуструп) ничгде не называет любые переменные базовых типов объектами классоа. С точки зрения С++ конечно похоже на объект, но из правил бывают исключения - вот это оно. S_T_A_S_ пишет: А тот же 32х битный регистр eax - с точки зрения математики скорее многочлен =\ Да, так и есть. S_T_A_S_ пишет: Какое отношение имеет количество операндов к их разрядности? То есть не 4 опернда, а разрядности 4. Просто времени много уже было, немного перепутал. S_T_A_S_ пишет: Дык это обычно очень неэффективно Наконец-то понял о чём я. Но тему эу мы уже вроде не рассматривали. Просто в данном контексте мы говорим о 3 варианте, так как наверняка све очень хорошо знакомы с ним.Кстати, алогоритм вычитания данный квантумом в его виде ну никак не будет работать на всех наборах допустимых значений корректно. Микропрограмма, это когда человек разрабатывает алгоритм работы устройства, он строит блоксхему, где внутри расписываются функции, которые должны выполняться в данном блоке. Например проверка на отрицательное цисло пишется в ромбике <A(1)> и дальше переходы апо да или нет. Я программист, поэтому не про железки говорил ![]() Quantum пишет: Нет уж, я первый предложил искать ошибки в своих постах. Не надо перекладывать на меня эту работу. Ну значит так и останешься весьма посредственным собеседником. Если сдаёшься, я напишу в чём дело. Ты укда сохраняешь результат переноса? В C(i+1). А где сложение-то с данными в A(i)+B(i)? Должно быть так: C(i)=A(i)+B(i)+C(i) C(i+1)=A(i)and(B(i) ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 13 августа 2006 15:03 · Личное сообщение · #13 Quantum пишет: Это уже было. Зачем повторяться? Тем не менее, пожалуй, ты прав. Надо выкинуть на помойку калькуляторы и компьютеры, т.к. гарантировать правильность всех операций они не могут. Повторятся за тем, чтобы осветить твои способности. Не ёрничай. Знаешь, что забавно. Ты как фанатик уверн в своей правоте и ни с чем не согласишься хоть ты тресни. На логику тебе тоже бестолку давить, ибо она отключена. Если ты можешь поместить число 29 в трёхразрядную бинарную сетку, чтобы вернув его обратно из двоичной системы в десятичную (а именно это означает строка 29=5)посчитать и дать ответ, который не сходится с другими, и утверждать, что 29 = 5 остаётся тебя только пожалеть. Ну расскажи, прчём тут калькуляторы ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 13 августа 2006 17:00 · Личное сообщение · #14 |
|
Создано: 13 августа 2006 20:21 · Личное сообщение · #15 Error_Log пишет: Разве он не способен хранить одно из устойчивых состояний до тех пор пока входной сигнал не выйдет за границу его порога переключения? Выходной сигнал триггера зависит только от значения входного в данный момент. От предыдущих значений входного или выходного сигнала текущее значение не зависит. Шмидт-триггер не обладает памятью. Кстати, под определение в вики попадают конденсаторы: они хранят сигнал в течении продролжительного интервала, некоторые модели делают из полупроводников (пример: DRAM, флеш и т.д.) Error_Log пишет: речь была о: (в количестве 4 или 8...) Из-за специфики дизайна не так просто определить их точное количество. Rascal пишет: Так вот где в нём члены данные. И методы их обработки? Атрибут по крайней мере один - это значение примитивного типа. Методы: +, -, /, *, %, &, |, ... Rascal пишет: Если сдаёшься, я напишу в чём дело. Ты даже не потрудился проверить. Аналог на асме: A = eax B = ebx результат в EAX MOV EDX,EAX MOV ECX,EBX XOR EDX,ECX AND EAX,EBX SHL EAX,1 ADD EAX,EDX Если аналитически слабо понять формулу, поиграйся с этим кодом, подставляя различные значения A и B. ![]() |
|
Создано: 13 августа 2006 20:52 · Поправил: Rascal · Личное сообщение · #16 Quantum пишет: Методы: +, -, /, *, %, &, |, ... Это операторы ;) Метод принадлежит конкретному классу и вызывается с указанием имени объекта, то есть так : OBJECT_NAME.METHOD_NAME. Теперь попробуй в с++ создать переменную типа инт и покажи, что будет вываливаться по точке. Есть перегрузка операторов, но они так же должны вываливаться по точке. Эйнштейн был прав. Quantum пишет: Ты даже не потрудился проверить. Аналог на асме: A = eax B = ebx результат в EAX MOV EDX,EAX MOV ECX,EBX XOR EDX,ECX AND EAX,EBX SHL EAX,1 ADD EAX,EDX Quantum пишет: A + B = (A xor B) + ((A and B) shl 1) Из твоей формулы понятно, что для этой операции используется два регистра. Это ошибка. Формула верна. Но устройство на ней не построить ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 13 августа 2006 21:28 · Личное сообщение · #17 Quantum пишет: От предыдущих значений входного или выходного сигнала текущее значение не зависит Соглашусь, что трактовка в википедии не является столь уж гладкой. Но триггер шмидта назван триггером не спроста - позволь себе это признать. Quantum пишет: Шмидт-триггер не обладает памятью А как же тогда он сохраняет свое состояние? И позволю тебе напомнить - до тех пор будет хранить его, пока входной сигнал не выйдет за границу его порога переключения в противоположное состояние. Тема триггеров Шмидта уже изрядно поднадоела - давай не будем к ней возвращаться. Asterix пишет: если не умеришь свой хамский тон и не уменьшишь количество мата в постах то ты пойдешь в баню Задело, что некоторые здесь возомнили из себя непонятно кого. Хотя я согласен с тобой, что я погорячился в этом плане ![]() Rascal пишет: Ты как фанатик уверн в своей правоте и ни с чем не согласишься хоть ты тресни. На логику тебе тоже бестолку давить, ибо она отключена Это точно. Думаю не стоит на это обращать внимания - каждый прочитает и из этого поймет то, что он должен понять. ----- Research is my purpose ![]() |
|
Создано: 13 августа 2006 21:43 · Личное сообщение · #18 Rascal пишет: A = eax B = ebx результат в EAX MOV EDX,EAX MOV ECX,EBX XOR EDX,ECX AND EAX,EBX SHL EAX,1 ADD EAX,EDX Так, ты же вроде утверждаешь, что это есть сложение, причём без использования ADD. С ADD каждый дурак сможет. А формула тогда получается неверной. Всё равно надо цикл использовать. ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 13 августа 2006 23:42 · Личное сообщение · #19 Rascal пишет: Теперь попробуй в с++ создать переменную типа инт и покажи, что будет вываливаться по точке. С каких пор всплывающий список в IDE стал критерием "оопности"? ![]() Rascal пишет: Формула верна. Но устройство на ней не построить Устройство можно построить из n-ного количества модулей xor и and. n - кол-во бит. Нарисовать схемку? Error_Log пишет: Но триггер шмидта назван триггером не спроста - позволь себе это признать. Видимо, триггер происходит от англ. trig - фиксировать. Он просто фиксирует логические уровни. Rascal пишет: Так, ты же вроде утверждаешь, что это есть сложение, причём без использования ADD. Это рекурсивная формула. На последней итерации add можно заменить на xor. ![]() |
|
Создано: 13 августа 2006 23:59 · Личное сообщение · #20 Quantum пишет: Между прочим, в Java примитивные типы реализованы как обьекты. Если ты не в курсе, JAVA задумывался именно для полного фарша ООП. В С++ есть потуги сделать всё на ООП, это MFC. Языки несравнимы. Quantum пишет: Устройство можно построить из n-ного количества модулей xor и and. n - кол-во бит. Нарисовать схемку? На процессоре интел тебе не удалось ![]() Quantum пишет: Это рекурсивная формула. На последней итерации add можно заменить на xor. А не на последней??? Знаешь что такое итерация? Ты ж говорил вообще обойдёшься без add, ибо его и делаешь? ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 14 августа 2006 00:16 · Личное сообщение · #21 |
|
Создано: 14 августа 2006 01:27 · Личное сообщение · #22 Quantum пишет: С каких пор всплывающий список в IDE стал критерием "оопности"? Ага. С пор microsoft visual studio. Как сможешь подколючить класс и создав объект и дописав точку или стрелку(в зависимости от ситуации) и не увидеть доступных методов и переменных, так сразу сообщи. А пока не забывай писать, что ты берёшь слова обратно, что правильна точка зрения оппонента. Жутко не люблю людей, считающих себя пупами земли. Неправ - признайся, или к чертям. (Asterix, sorry. Просто где-то слышал такую фразу, понравилась ![]() Quantum пишет: Ты не знаешь что такое рекурсия? Естественно, add не будет вообще, иначе формула не имела бы практического применения. Тогда алгоритм напиши, а то у меня есть смутные сомненья. ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 14 августа 2006 01:29 · Поправил: S_T_A_S_ · Личное сообщение · #23 Rascal пишет: То есть не 4 опернда, а разрядности 4. Просто времени много уже было, немного перепутал. Когда ты немного перепутал в первый раз здесь, я так и подумал - про время ;) но 2й раз... =) Rascal пишет: Наконец-то понял о чём я. Но тему эу мы уже вроде не рассматривали. Просто в данном контексте мы говорим о 3 варианте, так как наверняка све очень хорошо знакомы с ним. Ну и зачем ты запутывал, говоря "вычитает как человек"? Что бы никто не мог пискать в яндексе вычитатель двоичный или погуглить digital subtractor? Rascal пишет: Микропрограмма, это когда человек разрабатывает алгоритм работы устройства, он строит блоксхему, где внутри расписываются функции, которые должны выполняться в данном блоке. Например проверка на отрицательное цисло пишется в ромбике <A(1)> и дальше переходы апо да или нет. Я программист, поэтому не про железки говорил А я думал, ты говорил о конструировании АЛУ в p-cad (или что сейчас используют?). Так вот, там никакие микропрограммы не обязательны, можно нарисовать "проц" целиком из базовой логики. Rascal пишет: Класс содержит в себе определение данных и методы их обработки. Объект есть экземпляр класса. Так вот где в нём члены данные. И методы их обработки? Начнем с того, что в С++ вообще нет методов, а есть функции-члены классов. По твоей логике выйдет, что в С++ вообще объектов быть не может. Rascal пишет: Это ТИП, причём встроекнный, причём авторы языка (точнее Бьерн Страуструп) ничгде не называет любые переменные базовых типов объектами классоа И если посмотреть в Стандарт, там такие вещи называются POD-типы (plain old data). А классы - user-defuned types ;) И правильно, ведь Страуструп написал не ОО язык. В терминологии С++ вообще нет никаких завязок на ОО. Другое дело, что в С++ можно писать ОО программы, а вот с точки зрения ООП - программа состоит из объектов обменивающихся сообщениями. И тогда (в угоду ОО жаргону) функции начинают называть методами, а переменные - экземплярами классов. Rascal пишет: Это операторы ;) Метод принадлежит конкретному классу и вызывается с указанием имени объекта, то есть так : OBJECT_NAME.METHOD_NAME Точка - это тоже оператор. Хотя его нельзя определить или перегрузить, как другие функции (члены и нет), вроде operator+
![]() |
|
Создано: 14 августа 2006 01:51 · Личное сообщение · #24 Может у меня конечно уже сложился стереотип товарища Quantum? рассудите тогда Вы: Quantum пишет: Это рекурсивная формула. На последней итерации add можно заменить на xor. Quantum пишет: Ты не знаешь что такое рекурсия? Естественно, add не будет вообще, иначе формула не имела бы практического применения. Это бред, или я туплю??? Человек очевидно не отличает понятие итерации. И видимо додумался что-нить по этому поводу прочитать и его осинило, что такое итерация. Признавайся, из какого детского садика ты нам пишешь? ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 14 августа 2006 01:58 · Поправил: Rascal · Личное сообщение · #25 S_T_A_S_ пишет: А я думал, ты говорил о конструировании АЛУ в p-cad (или что сейчас используют?). Так вот, там никакие микропрограммы не обязательны, можно нарисовать "проц" целиком из базовой логики. Тут как раз говорилось о ручном создании логики. Даже топик на эту тему называется. S_T_A_S_ пишет: Начнем с того, что в С++ вообще нет методов, а есть функции-члены классов. По твоей логике выйдет, что в С++ вообще объектов быть не может. Приехали... Метод и есть функция-член класса. Это её второе название. По крайней мере в универе нас так и спрашивют. И по джаве тоже. S_T_A_S_ пишет: Rascal пишет: То есть не 4 опернда, а разрядности 4. Просто времени много уже было, немного перепутал. Когда ты немного перепутал в первый раз здесь, я так и подумал - про время ;) но 2й раз... =) Это ты о чём ? ![]() S_T_A_S_ пишет: И тогда (в угоду ОО жаргону) функции начинают называть методами, а переменные - экземплярами классов. И это правильно ![]() ![]() S_T_A_S_ пишет: Точка - это тоже оператор. Хотя его нельзя определить или перегрузить, как другие функции (члены и нет), вроде operator+ Будем бодаться по поводу с++? Есено оператор. Но к сути дела это отношения не имеет. Ещё стрелку забыл. А перегружать нельзя всего где-то штук 8 операторов. Но опять же, к теме разговора это отношения не имеет. Т.к. ответ Quantumу уже дан. S_T_A_S_ пишет: std::string a = "I'm an object "; std::string b = "with strange methods"; a += b; Ликбез по С++ можно завершать ![]() ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 14 августа 2006 02:22 · Личное сообщение · #26 Rascal пишет: Тогда алгоритм напиши, а то у меня есть смутные сомненья. Человек считает себя программистом, но рекурсия у него вызывает смутные сомнения... Ладно, разжую. Для одновитных операндов: add_1 == a xor b Для 2-битных: add_2 == (a xor b) xor ((a and b) shl 1) Для 3-битных: add_3 == ((a xor b) xor ((a and b) shl 1)) xor ((a xor b) and ((a and b) shl 1)shl 1) И т.д. Rascal пишет: Как сможешь подколючить класс и создав объект и дописав точку или стрелку(в зависимости от ситуации) и не увидеть доступных методов и переменных, так сразу сообщи. Я бы тебе по ООП сразу ноль поставил. ![]() |
|
Создано: 14 августа 2006 02:46 · Поправил: Rascal · Личное сообщение · #27 Quantum пишет: Я бы тебе по ООП сразу ноль поставил. Ты знаешь что это? Я удивлён. Так расскажи, по каким признакам ты орпеделил, что int C; C - это объект класса int??? Мама дорогая. Прочитай эту строчку. Пацталом =))))))))))))) Quantum Не находишь, что формула теперь намного сложнее первого варианта. Вот теперь маладец. А то упростил он работу устройства. Пирожок отныне честно заслужен. Quantum пишет: Человек считает себя программистом, но рекурсия у него вызывает смутные сомнения Ты сам почитай свой пост. Фижу пальцы веером. Нихера не знаешь и трещишь как погремушка - я платы паяю, я программирую, я логику составляю. Заметь, ничего из твоих возможностей без вазелина не прошло. И ты называешь себя крутым перцем. Что тебе сказать - у тебя мания величия. За сим разрешите откланяться, так как абсолютное большинство вопросов оставлено без ответов и очевидно, что субъект не сможет на них ответить не почитав книжек, а время у хороших программистов ценится.Для общества. Объясни смысл этих слов: Это рекурсивная формула. На последней итерации add можно заменить на xor. Думаю, отсюда понятно более чем достаточно о твоей квалификации. Cya, ppl Quantum пишет: add_3 == ((a xor b) xor ((a and b) shl 1)) xor ((a xor b) and ((a and b) shl 1)shl 1) Как видишь добавление xor происходит отнюдь не на последней итерации. Если вдруг не понял, о чём я. Как сделаешь однопроходное добавление через ксор битов переноса сможешь получить приз. Если не понял о чём, то однопроходное это значит без циклов и без рекурсий. ----- Недостаточно только получить знания:надо найти им приложение ![]() |
|
Создано: 14 августа 2006 02:52 · Личное сообщение · #28 |
|
Создано: 14 августа 2006 02:54 · Личное сообщение · #29 |
|
Создано: 14 августа 2006 03:20 · Личное сообщение · #30 |
|
Создано: 14 августа 2006 03:35 · Личное сообщение · #31 Rascal пишет: Тут как раз говорилось о ручном создании логики. Логика строится по правилам булевой алгебры, которые можно легко проиллюстировать различными графическими представлениями одной сущности: таблицами истинности, математической нотацией, схемотехнически (элементами вроде 2И-НЕ) - к чему тут микропрограммы какие-то? Rascal пишет: Это ты о чём ? Quantum написал, что xor применимо к однобитным операндам. Ты в ответ пишешь, что бывают многовходовые элементы xor. Вот и пусть бывают, количество операндов не имеет никакого отношения к их разрядности. Rascal пишет: Метод и есть функция-член класса. Это её второе название. По крайней мере в универе нас так и спрашивют. Ещё раз повторю - нигде в стандарте языка С++ не встречается термин "метод". Да, я и сам называю порой это методами, но функция-член может быть так же и свойством (объекта). А struct\class может использоваться вообще как namespace и не иметь к ООП никакого отношения. Чему вас учат в универе - хз, но похоже не С++, поскольку язык этот не ОО, а мультипарадигменный. Если же рассматривать С++ как язык для программирования в ОО стиле (т.е. "улучшенный С с классами") то все переменные можно называть объектами, а оператор ++ - посылка сообщения "инкремент". Rascal пишет: опять же, к теме разговора это отношения не имеет. Т.к. ответ Quantumу уже дан Какой ответ, "ты пишешь из детского сада" или "метод - это то, что вызывается через точку"? Синтаксис языка к парадигмам программирования имеет мало отношения. Можно придумать ОО-язык, где вызов метода будет записываться "hey bro call da fuckin' method", а в ООП на ассемблере можно утверждать, что регистр EAX - ни что иное, как объект класса "регистр CPU" (который инкапсулирует какие-то там микропрограммы). ![]() |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . >> |
![]() |
eXeL@B —› Программирование —› Альтернатива xor |