Простенький программерский конкурс...
Предлагаю сделать серию простеньких форумных конкурсов.
Как вариант начала серии предлагаю вот такой конкурс: Конкурс на самую оригинальную функцию toggle'a переменной (0/1). Начальнай вариант: Код:
В качестве приза предлагаю либо медаль, либо награду "За оригинальность" Ну, кто хочет подобную серию? |
Re: Простенький программерский конкурс...
Ize'g0re
такую toggle придумали уже давно в бейсиках ето not ... типа a = not a а в С++ ето "!" .. :) a = !a; |
Re: Простенький программерский конкурс...
Ize'g0re
Дай Бог, чтобы хоть один, кроме твоего, приудумали, а ты про 50 говоришь) |
Re: Простенький программерский конкурс...
Мда.. задачка не оригинальна.
может лучше предложить знак float/real/double/что-там-у-вас поменять ручками. Мне пришлось однажды.. когда из-за неявных преобразования на выходе из функции я получал float с потеряным знаком.. |
Re: Простенький программерский конкурс...
a xor $1000000000000000
|
Re: Простенький программерский конкурс...
Да-да, я так и сделал.. я вспомнил.. попутно с этим я еще пытался вручную делить float на степень двойки...вот это уже задача поинтереснее.
кстати предложение Диплоимата еще ия вляется решением по конкурсу.. a=a xor 1 так как в компьютерах нет узла, вы полняющего операцию XOR, она заменима несколькими стандартными (И,ИЛИ,НЕ) - это к Имперсоналису |
Re: Простенький программерский конкурс...
Serendipity
xor ето самая быстрая операция, и по скорости она сравнима с И,ИЛИ,НЕ узел есть :) в ALU просто раньше ... a = a xor a был самый быстрый способ обнулить переменую помойму даже в асемблере щиталось что сделать xor быстрее чем присвоить ноль ps. дело в том что ALU обычно имеет частоту больше чем сам процессор и даже если для операции требуется на 3 такта больше .. то разницы для программы как таковой нету хотя в разных процесорах по разному |
Re: Простенький программерский конкурс...
я вообщето имел в виду ЛЮБУЮ ОРИГИНАЛЬНУЮ идею... можно даже через If Endif делать, да мало ли через какой ещё геморрой! главный и единственный критерий - ОРИГИНАЛЬНОСТЬ! скорость, доступность, прочиеусловия не учитываются...
Ну, кто ещё хочет предложить вариант тоггла? |
Re: Простенький программерский конкурс...
Ну, допустим, вот:
Код:
Procedure Toggle(a) |
Re: Простенький программерский конкурс...
Все, ребята, встречайте победителя ...
Код:
#MemorySize = 2 - 1 Код:
: Toggle |
Re: Простенький программерский конкурс...
Brainf**k) Да, его сложно переплюнуть.
|
Re: Простенький программерский конкурс...
Цитата:
|
Re: Простенький программерский конкурс...
А, пардон, на каком языке это писалось?(я с математикой практически не знаком, так что идентифицировать команды не смог...)
Я кроме select case ничего знакомого не увидел... |
Re: Простенький программерский конкурс...
Цитата:
Последняя - Win32FORTH v6.11.10 |
Re: Простенький программерский конкурс...
2Jimon
ИМХО: a=a xor a , врядли будет работать быстрее чем a=0, т.к. в любрм соучае идет присваивание, а вто обнуление регистра процессора, типа XOR EAX , будет наверняка быстрее чем любоке присваивание переменной ему. |
Часовой пояс GMT +4, время: 16:19. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot