Код Грея
- class Gray
- {
- /**
- * @param int $n
- * @return int
- */
- public static function encode($n)
- {
- return $n ^ ($n >> 1);
- }
- /**
- * @param int $g
- * @return int
- */
- public static function decode($g)
- {
- $n = 0;
- for (; $g; $g >>= 1) {
- $n ^= $g;
- }
- return $n;
- }
- }
- //Example
- $encode = Gray::encode(2016);
- echo 'Encode: ' . $encode . '<br>';
- echo 'Decode: ' . Gray::decode($encode);
Подробнее здесь:
https://en.m.wikipedia.org/wiki/Gray_code
http://m.habrahabr.ru/post/200806/
http://m.habrahabr.ru/post/203362/
Когда-нибудь, кому-нибудь, где-нибудь пригодится обязательно. Пусть будет
https://en.m.wikipedia.org/wiki/Gray_code
http://m.habrahabr.ru/post/200806/
http://m.habrahabr.ru/post/203362/
Когда-нибудь, кому-нибудь, где-нибудь пригодится обязательно. Пусть будет