|
Проблема с условием, m = m+I|P == I ? m : 0; |
|
|
|
 |
Ответов
|
Aug 20 2018, 10:29
|

Участник

Группа: Участник
Сообщений: 23
Регистрация: 20-05-11
Пользователь №: 65 166

|
Цитата(segment @ Aug 20 2018, 11:55)  Воу. Если не секрет, то что это за проект такой? Это не секрет, это шахматная программа micro-Max. Весь код помещается на одном листе А4, притом, что программа знает даже такое правило, как "взятие пешки на проходе". Мне этот алгоритм очень понравился, я когда-то с друзьями в турнир играл, четырех обыграл, а эта програмка меня взувает (сделал шахматный калькулятор на ATmega48). Тут верно заметили, что код писал математик. Спасибо за советы.
Сообщение отредактировал ave! - Aug 20 2018, 10:42
|
|
|
|
|
Aug 20 2018, 11:31
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(ave! @ Aug 20 2018, 13:29)  Тут верно заметили, что код писал математик. Код писал извращенец человек, цель которого была совсем не оптимальность и не решение практической задачи, а цель - вычурность кода. Ибо: вместо t += p<5 простой программист использует if, а более продвинутый заменит на что-то типа: t -= (int)(p - 5) >> 31;
|
|
|
|
|
Aug 22 2018, 13:55
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (Arlleex @ Aug 22 2018, 15:33)  А еще результат выражения != 0 не обязательно есть 1. Обязательно есть. QUOTE (Arlleex @ Aug 22 2018, 15:33)  Поэтому тот, кто писал t += p<5, явно чудак  Тот, кто писал этот код, очень хорошо знал Стандарт языка. В отличие от вас. QUOTE 6.5.8 Relational operators 6 Each of the operators < (less than), > (greater than), <= (less than or equal to), and >= (greater than or equal to) shall yield 1 if the specified relation is true and 0 if it is false.89) The result has type int. 6.5.9 Equality operators The == (equal to) and != (not equal to) operators are analogous to the relational operators except for their lower precedence.90) Each of the operators yields 1 if the specified relation is true and 0 if it is false. The result has type int.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Aug 25 2018, 07:08
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Цитата(Сергей Борщ @ Aug 22 2018, 16:55)  Обязательно есть. Тот, кто писал этот код, очень хорошо знал Стандарт языка. В отличие от вас. Вон оно как? Стандартов не читал, да, признаю. Но вот будет ли так в дальнейшем - не совсем ясно, поэтому так писать лично я бы не стал. Ведь компиляторы все новее и новее, а оптимизация все хитрее. Никто не знает, во что это выльется в будущем.
|
|
|
|
|
Aug 25 2018, 07:21
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Arlleex @ Aug 25 2018, 10:08)  Но вот будет ли так в дальнейшем - не совсем ясно, поэтому так писать лично я бы не стал. Ведь компиляторы все новее и новее, а оптимизация все хитрее. Никто не знает, во что это выльется в будущем. Я тоже выше об этом писал. Понятно что сейчас это работает. Но такой подход и стиль считаю плохим. char тоже раньше всегда был знаковым, а сейчас может быть и беззнаковым, в зависимости от установок компилятора. Всё потому, что в появились некоторые CPU, в которых чтение/запись беззнаковых char короче чем знаковых, и во многих случаях, когда знаковость не важна, лучше использовать такие операции чтения/записи. Так и с этим - если CPU позволяет более эффективно работать с типами bool со значениями 0/-1, а не 0/1, то лучше так и делать, разрешив спец.опцией компилятора. Хотя конечно это гораздо менее часто встречающаяся потребность чем char, значит не очень важная.
|
|
|
|
Сообщений в этой теме
ave! Проблема с условием Aug 20 2018, 08:18 aaarrr Цитата(ave! @ Aug 20 2018, 11:18) Под... Aug 20 2018, 08:45    jcxz Цитата(Arlleex @ Aug 22 2018, 15:33) А ещ... Aug 22 2018, 13:02       Arlleex Цитата(jcxz @ Aug 25 2018, 10:21) Я тоже ... Aug 25 2018, 07:39        jcxz Цитата(Arlleex @ Aug 25 2018, 10:39) Про ... Aug 25 2018, 07:59         Arlleex Цитата(jcxz @ Aug 25 2018, 10:59) Загляни... Aug 25 2018, 09:23          jcxz Цитата(Arlleex @ Aug 25 2018, 12:23) Сход... Aug 25 2018, 09:59           Arlleex Цитата(jcxz @ Aug 25 2018, 12:59) Тест Ва... Aug 25 2018, 10:24            jcxz Цитата(Arlleex @ Aug 25 2018, 13:24) Един... Aug 25 2018, 12:24             Arlleex Цитата(jcxz @ Aug 25 2018, 15:24) Конечно... Aug 25 2018, 13:23              jcxz Цитата(Arlleex @ Aug 25 2018, 16:23) Откр... Aug 25 2018, 13:49               Arlleex Цитата(jcxz @ Aug 25 2018, 16:49) А Вы ко... Aug 25 2018, 14:15 ViKo Дык, обфускация. Aug 20 2018, 08:57 aaarrr Цитата(ViKo @ Aug 20 2018, 11:57) Дык, об... Aug 20 2018, 09:05 segment Да, да, она или дизассемблировано. Просто я однажд... Aug 20 2018, 09:00 Сергей Борщ QUOTE (ave! @ Aug 20 2018, 11:18) m =... Aug 20 2018, 09:01 Непомнящий Евгений Цитата(Сергей Борщ @ Aug 20 2018, 12:01) ... Aug 20 2018, 10:18  Сергей Борщ QUOTE (Непомнящий Евгений @ Aug 20 2018, 13... Aug 20 2018, 11:25   Непомнящий Евгений Цитата(Сергей Борщ @ Aug 20 2018, 14:25) ... Aug 20 2018, 12:35 ave! Цитата(Сергей Борщ @ Aug 20 2018, 12:01) ... Aug 20 2018, 11:36  jcxz Цитата(ave! @ Aug 20 2018, 14:36) Исп... Aug 20 2018, 11:47   _pv Цитата(jcxz @ Aug 20 2018, 18:47) Поэтому... Aug 20 2018, 12:16   ave! Приоритет операций C++ - это я себе в тему на заме... Aug 20 2018, 12:20    jcxz Цитата(ave! @ Aug 20 2018, 15:20) jcx... Aug 20 2018, 12:23     ave! Цитата(jcxz @ Aug 20 2018, 15:23) Мне каж... Aug 20 2018, 13:05      jcxz Цитата(ave! @ Aug 20 2018, 16:05) Сти... Aug 20 2018, 13:24       Сергей Борщ QUOTE (jcxz @ Aug 20 2018, 16:24) Возможн... Aug 20 2018, 13:28        jcxz Цитата(Сергей Борщ @ Aug 20 2018, 16:28) ... Aug 20 2018, 13:30 jcxz Цитата(ave! @ Aug 20 2018, 11:18) if ... Aug 20 2018, 11:17 yes ну дык (по описанию micro-Max) задача стояла миним... Aug 20 2018, 14:28 jcxz Цитата(yes @ Aug 20 2018, 17:28) ну дык (... Aug 20 2018, 16:12 ViKo Поскольку было объяснение, что писалось на конкурс... Aug 25 2018, 07:41 Obam Во времена настали: раздел про AVR, а тут про приг... Aug 25 2018, 19:46 jcxz Цитата(Obam @ Aug 25 2018, 22:46) Во врем... Aug 25 2018, 19:58 Obam Ну, на фоне 6502 и z80 вполне себе... Aug 27 2018, 15:33
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|