W buforach protokołu google encoding overview, wprowadzają one coś, co nazywa się "Kodowaniem Zig Zag", to bierze podpisane liczby, które mają niewielką wielkość i tworzy serię liczb bez znaku, które mają niewielką wielkość.Zig Zag Dekodowanie
Na przykład
Encoded => Plain
0 => 0
1 => -1
2 => 1
3 => -2
4 => 2
5 => -3
6 => 3
i tak dalej. Funkcja kodowania dają za to jest dość sprytny, to:
(n << 1)^(n >> 31) //for a 32 bit integer
rozumiem jak to działa, jednak nie mogę dla życia mnie dowiedzieć się, jak odwrócić ten i dekoduje go z powrotem do podpisanych 32 bitowych liczb całkowitych
Wiedziałem, że musi istnieć sposób obejścia multiply. Sława! – ergosys
Ten wydaje się nie działać:/ – Martin
Cóż, to działa dla mnie i dla ergosys, więc powinno również działać dla ciebie ... Czy możesz mi powiedzieć, jakie wyniki uzyskasz? – 3lectrologos