Zjištění - lichá a sudá
Asi nejzákladnějším rozdělením čísel je na lichá a sudá. Každý člověk to lehce pozná, ale co program? Většina programátorů to řeší mě donedávna jediným způsobem který znám. Je to zbytek po dělení.
- $a = 6;
- if($a %2 )
- echo 'liche';
- else
- echo 'sude';
Bohužel si nepamatuji kde to bylo, ale viděl jsem další řešení. To řešení staví na na bitových operacích.
Pokud budeme mluvit jen o celých číslech tak poslední bit toho čísla je vlastně 2^0, což je jedna. Právě existence téhle jednicku určuje tu lichost nebo sudost čísla. Po téhle teorii už není problém sestavit kód. Použijeme bitový operator AND (&).
- $a = 6;
- if($a & 1)
- echo 'liche';
- else
- echo 'sude';
Pokud to není pochopitelné prostuduj te si uplné základy.
komentáře
RSS Komentáře
řeším options vždy přes pole function($params=array()) zkoušel jsem i bitové operace, ale problém je když chceš míchat právě jednoduché options a pak vyloženě potřebuješ předat options typu key=>value, key=>arrayOfValues
ale určitě už se těším jak to vymyslíš :) kdyby se ti podařilo zamyslet se i nad tou kombinací, bylo by to fajn



Zajímavá alternativa. Asi je to zbytečné, ale jen tak pro zajímavost, nějaké testy výkonu obou variant nejsou k dispozici?