Языки программирования |
Здравствуйте, гость ( Вход | Регистрация )
Языки программирования |
14 Jan 2014, 10:16
Сообщение
#481
|
|
•●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5934 раза |
Ну, вот как-то так: http://vk.com/note104493218_12227861
О чем-то забыла ? Где-то недогнула ? -------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
16 Feb 2014, 10:19
(Сообщение отредактировал Guevara-chan - 16 Feb 2014, 11:11)
Сообщение
#482
|
|
•●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5934 раза |
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
האם יש זמן לעצור ? |
|
|
16 Feb 2014, 11:25
Сообщение
#483
|
|
Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
|
|
|
16 Feb 2014, 12:24
(Сообщение отредактировал Guevara-chan - 16 Feb 2014, 12:36)
Сообщение
#484
|
|
•●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5934 раза |
Ну, вариант "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
האם יש זמן לעצור ? |
|
|
16 Feb 2014, 12:36
Сообщение
#485
|
|
Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
Он от этого правильнее не станет.
|
|
|
16 Feb 2014, 13:08
Сообщение
#486
|
|
Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
|
|
|
16 Feb 2014, 16:31
(Сообщение отредактировал Guevara-chan - 16 Feb 2014, 19:10)
Сообщение
#487
|
|
•●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5934 раза |
Тоже верно, но что-то рука не поднялась еще раз заведомо гробить поддержку чисел с плавающей точкой. Кстати, почти в тему:
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
האם יש זמן לעצור ? |
|
|
20 May 2014, 11:33
Сообщение
#488
|
|
Immortal Сообщений: 7 869 Спасибо сказали: 16061 раз |
|
|
|
20 May 2014, 14:09
(Сообщение отредактировал feanor - 20 May 2014, 14:11)
Сообщение
#489
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
В первой строке задротская программистская шутка.
В С истиной действительно считается любое целочисленное значение, кроме нуля (хотя true все же равно единице). Так что истин там много, а ложь - одна. |
|
|
20 May 2014, 16:44
Сообщение
#490
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
Не только в C, но это всё ещё казуистика.
-------------------- |
|
|
20 May 2014, 16:49
(Сообщение отредактировал Orzie - 20 May 2014, 16:50)
Сообщение
#491
|
|
Immortal Сообщений: 7 869 Спасибо сказали: 16061 раз |
В первой строке задротская программистская шутка. В С истиной действительно считается любое целочисленное значение, кроме нуля (хотя true все же равно единице). Так что истин там много, а ложь - одна. Да это-то всё понятно, я просто о том, что казуистика как раз и предполагает определения "Счастье есть отсутствие несчастья". |
|
|
20 May 2014, 18:12
Сообщение
#492
|
|
пират с чёрной меткой Сообщений: 23 646 Спасибо сказали: 12922 раза |
В первой строке задротская программистская шутка. В С истиной действительно считается любое целочисленное значение, кроме нуля (хотя true все же равно единице). Так что истин там много, а ложь - одна. В Delphi вроде тоже: Boolean(2) = True. Как бы "единица и больше" - истина. "ноль и меньше" - ложь. А вот Bool(2) - не гарантирую, что истина. Это не фактическое приведение, а особая операция. -------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
20 May 2014, 19:43
Сообщение
#493
|
|
Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
Так разве в делфи можно писать конструкции вида if(2)?
Позже перенесу оффтопик. |
|
|
20 May 2014, 19:46
Сообщение
#494
|
|
пират с чёрной меткой Сообщений: 23 646 Спасибо сказали: 12922 раза |
Нельзя. Это прямое приведение типов.
Byte(-1) = 255. Это не выражение на языке Delphi. Однако 1: if 2 then goto 1; даст бесконечный цикл. или, красивее: repeat until 2; -------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
20 May 2014, 21:02
Сообщение
#495
|
|
Яблочный произвол! Сообщений: 11 080 Спасибо сказали: 3988 раз |
Какое ещё приведение типов? Мы про условия говорим.
Ну да ладно, в примере у тебя и так видно, что всё так же. |
|
|
20 May 2014, 22:02
Сообщение
#496
|
|
пират с чёрной меткой Сообщений: 23 646 Спасибо сказали: 12922 раза |
Ну, условие:
if Boolean(2) then ...; только приведение к логическому типу и так подразумевается, поэтому можно написать: if 2 then ...; И это условие будет выполнено что в первом, что в втором случае. Потому что 2 = Boolean(2) = True (в условиях, конечно). Также как часто используемое мной выражение 2=3. Оно всегда даёт False, но оно в 100 раз нагляднее, чем само False. (компилятор в данном случае не парится, сразу подставляя нужный результат. Так что производительность не страдает). -------------------- Давший быка на убой не выпросил и печень на жаркое.
|
|
|
21 May 2014, 01:00
Сообщение
#497
|
|
laughed as one fey Сообщений: 12 166 Спасибо сказали: 20585 раз |
|
|
|
30 Jun 2014, 21:22
Сообщение
#498
|
|
Immortal Сообщений: 3 301 Спасибо сказали: 2643 раза |
Кто нибудь слышал про язык Rust?
Реквест максимальной инфы по нему, если кто распологает!) Нужно в качестве огромного проекта. -------------------- Удалено Администрацией. Браузеры жаловались на вредоносное ПО.
Ссылка на оригинальное изображение: http://herоeslibrary.nеt/Site_images/admin.jpg Ссылка на сайт по нажатию баннера: http://herоeslibrary.nеt (ссылки содержат кириллические символы вместо оригинальных) Видишь бяку, - упрости! (с) кто-то из выдающихся математиков) Учи матан & Сходи с ума (с) архидедус |
|
|
09 Aug 2016, 10:50
Сообщение
#499
|
|
😸🧡✊✌️ Сообщений: 16 027 Спасибо сказали: 2672 раза |
From gmakers.ru:
Цитата А я кстати придумал, как можно довольно легко и надёжно отличить мышь от тачскрина. По умолчанию запускать как тачскрин, но если игрок смог переместить курсор не нажимая ЛКМ - значит мышь. Гениально же.
-------------------- |
|
|
04 Dec 2017, 16:43
Сообщение
#500
|
|
•●Revolucionario●• Сообщений: 2 467 Спасибо сказали: 5934 раза |
Немного некропостинга и гитхаб с Адвентом в функциональном стиле: https://github.com/Guevara-chan/Advent-of-Code-2017
-------------------- life MOV.I #life+1, *life
האם יש זמן לעצור ? |
|
|
Текстовая версия | Сейчас: 25 April 2024 - 02:48 |
Copyright by Алексей Крючков
Programming by Degtyarev Dmitry |