Witam,
czy zachodzi zawsze taka równość?
a mod 32 = a & 32
??
Witam,
czy zachodzi zawsze taka równość?
a mod 32 = a & 32
??
A jaki to problem sobie to udowodnić? Na oko odpowiedź brzmi: tak o ile to naturalny kod binarny.
nie zachodzi nigdy. a mod 2n = a & 2n-1, w Twoim przypadku a mod 32 = a & 31
Dla z jednej strony liczb dodatnich i z drugiej strony potęg dwójki (w tym wypadku 2^5). Liczby dodatnie to ważna założenie, po potem się będziesz dziwił dlaczego kompilator C nie zoptymalizował Ci prostej reszty z dzielenia przez potęge dwójki.
Edit: oczywiście, z prawej strony powinno być 2^n-1, jak ŁF zauważył.