![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#481
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Ну, вот как-то так: http://vk.com/note104493218_12227861
О чем-то забыла ? Где-то недогнула ? -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#482
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Min/Max без условных переходов, говорите ? OKay:
Код Macro Def_Comparator(PName, sgn = +) Procedure PName(Alfa, Omega) Define Diff = Omega - Alfa, Factor = 0 sgn Sign(Diff) ProcedureReturn Alfa + Sign(Factor + 1) * Diff EndProcedure EndMacro Def_Comparator(Max) Def_Comparator(Min, -) Debug Max(4, 2); 4, я полагаю. Debug Min(7, 9); 7, я полагаю. ...Ну или так, да: Код Macro Def_Comparator(PName, op)
Procedure PName(Alfa, Omega) ProcedureReturn Alfa + (-Bool(Alfa op Omega) & (Omega - Alfa)) EndProcedure EndMacro Def_Comparator(Max, <) Def_Comparator(Min, >) -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#483
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
|
|
|
![]()
Сообщение
#484
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Ну, вариант "Alfa" всего в полтора раза менее популярен (109 миллионов против 141).
...Бонус для тех, кто усмотрел неявные If'ы в Sign: Код Procedure Sign_(Val)
ProcedureReturn Bool(Val >= 0) - Bool(Val <= 0) EndProcedure Debug Sign_(-10); -1, надо полагать ? Debug Sign_(0); 0, надо полагать ? Debug Sign_(10); 1, надо полагать ? -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#485
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
Он от этого правильнее не станет.
|
|
|
![]()
Сообщение
#486
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
|
|
|
![]()
Сообщение
#487
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Тоже верно, но что-то рука не поднялась еще раз заведомо гробить поддержку чисел с плавающей точкой. Кстати, почти в тему:
http://vk.com/topic-30666517_29011944?post=151474 - внесла посильную лепту. P.S. Чит (NaN может трактоваться и не как 0 при переводе в целое), но работает: Код Procedure Sign_(Val) ProcedureReturn Int(Val / Abs(Val)) EndProcedure ...Я, однако, предпочту все же следующее усложнение (исходим из предположения, что NaN <> 0): Код Procedure Sign_(Val)
Define Factor.i = Val / Abs(Val), NaN.i = NaN() ProcedureReturn Factor % NaN EndProcedure -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]()
Сообщение
#488
|
|
![]() Immortal Сообщений: 7 870 Спасибо сказали: 16065 раз ![]() |
|
|
|
![]()
Сообщение
#489
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
В первой строке задротская программистская шутка.
В С истиной действительно считается любое целочисленное значение, кроме нуля (хотя true все же равно единице). Так что истин там много, а ложь - одна. |
|
|
![]()
Сообщение
#490
|
|
![]() 😸🧡✊✌️ Сообщений: 16 378 Спасибо сказали: 3206 раз ![]() |
Не только в C, но это всё ещё казуистика.
-------------------- Я слежу за тобой!
![]() ![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
![]()
Сообщение
#491
|
|
![]() Immortal Сообщений: 7 870 Спасибо сказали: 16065 раз ![]() |
В первой строке задротская программистская шутка. В С истиной действительно считается любое целочисленное значение, кроме нуля (хотя true все же равно единице). Так что истин там много, а ложь - одна. Да это-то всё понятно, я просто о том, что казуистика как раз и предполагает определения "Счастье есть отсутствие несчастья". |
|
|
![]()
Сообщение
#492
|
|
![]() допустим, мяў Сообщений: 24 060 Спасибо сказали: 13369 раз ![]() |
В первой строке задротская программистская шутка. В С истиной действительно считается любое целочисленное значение, кроме нуля (хотя true все же равно единице). Так что истин там много, а ложь - одна. В Delphi вроде тоже: Boolean(2) = True. Как бы "единица и больше" - истина. "ноль и меньше" - ложь. А вот Bool(2) - не гарантирую, что истина. Это не фактическое приведение, а особая операция. -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#493
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
Так разве в делфи можно писать конструкции вида if(2)?
Позже перенесу оффтопик. |
|
|
![]()
Сообщение
#494
|
|
![]() допустим, мяў Сообщений: 24 060 Спасибо сказали: 13369 раз ![]() |
Нельзя. Это прямое приведение типов.
Byte(-1) = 255. Это не выражение на языке Delphi. Однако 1: if 2 then goto 1; даст бесконечный цикл. или, красивее: repeat until 2; -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#495
|
|
![]() Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз ![]() |
Какое ещё приведение типов? Мы про условия говорим.
Ну да ладно, в примере у тебя и так видно, что всё так же. |
|
|
![]()
Сообщение
#496
|
|
![]() допустим, мяў Сообщений: 24 060 Спасибо сказали: 13369 раз ![]() |
Ну, условие:
if Boolean(2) then ...; только приведение к логическому типу и так подразумевается, поэтому можно написать: if 2 then ...; И это условие будет выполнено что в первом, что в втором случае. Потому что 2 = Boolean(2) = True (в условиях, конечно). Также как часто используемое мной выражение 2=3. Оно всегда даёт False, но оно в 100 раз нагляднее, чем само False. (компилятор в данном случае не парится, сразу подставляя нужный результат. Так что производительность не страдает). -------------------- Вокруг столько фильмов, книг, музыки - а природа какая невероятная!
Если тебе скучно жить - ты совсем дурак. (Татьяна Черниговская) |
|
|
![]()
Сообщение
#497
|
|
![]() laughed as one fey Сообщений: 12 167 Спасибо сказали: 20596 раз ![]() |
|
|
|
![]()
Сообщение
#498
|
|
![]() Immortal Сообщений: 3 301 Спасибо сказали: 2643 раза ![]() |
Кто нибудь слышал про язык Rust?
Реквест максимальной инфы по нему, если кто распологает!) Нужно в качестве огромного проекта. -------------------- Удалено Администрацией. Браузеры жаловались на вредоносное ПО.
Ссылка на оригинальное изображение: http://herоeslibrary.nеt/Site_images/admin.jpg Ссылка на сайт по нажатию баннера: http://herоeslibrary.nеt (ссылки содержат кириллические символы вместо оригинальных) Видишь бяку, - упрости! (с) кто-то из выдающихся математиков) Учи матан & Сходи с ума (с) архидедус |
|
|
![]()
Сообщение
#499
|
|
![]() 😸🧡✊✌️ Сообщений: 16 378 Спасибо сказали: 3206 раз ![]() |
From gmakers.ru:
Цитата А я кстати придумал, как можно довольно легко и надёжно отличить мышь от тачскрина. По умолчанию запускать как тачскрин, но если игрок смог переместить курсор не нажимая ЛКМ - значит мышь. Гениально же.
-------------------- Я слежу за тобой!
![]() ![]() Цитата Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел. Борис "Бонус" Репетур, "От винта!", выпуск 38. |
|
|
![]()
Сообщение
#500
|
|
![]() •●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5936 раз ![]() |
Немного некропостинга и гитхаб с Адвентом в функциональном стиле: https://github.com/Guevara-chan/Advent-of-Code-2017
-------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
![]() ![]() |
Текстовая версия | Сейчас: 10 July 2025 - 10:05 |
Copyright by Алексей Крючков
![]() Programming by Degtyarev Dmitry |
|