Remember, we say a is congruent to b modulo p (or a = b (mod p)) if p | (a - b).

Z_p = {[0], [1], [2], ..., [p-1]} where [a] = {b | a = b (mod p)}

So any number greater than p is congruent to a number smaller than p under modulo p. Example: p + 2 = 2 (mod p) and p = 0 (mod p).

Remember, 0 has no multiplicative inverse in Z_p.

Since 2 | (4 - 2), we see that 2 = 4 (mod 2) in Z_2. But note that Z_2 = {[0], [1]} so either 4 = 2 = 1 (mod 2) or 4 = 2 = 0 (mod 2). Since 2 | (2 - 0) and 2 does not divide (2 - 1) we see that 4 = 2 = 0 (mod 2). Thus, 2, 4 in Z_2 are just congruent to the element 0. This has no multiplicative inverse and its additive inverse is itself.

Under addition, we can always find an additive inverse. Remember for real numbers, the additive inverse of a is -a. So if 0 < a < p is in Z_p. Then the additive inverse you would expect would be -a and that lies in the congruence class [p - a] since -a = p - a (mod p).

However, only when p is prime does every nonzero element of Z_p have a multiplicative inverse.

For example, in Z_4, we have [0], [1], [2], [3]. Note that [2][0] = [0], [2][1] = [2], [2][2] = [4] = [0] and [2][3] = [6] = [6] = [2] in Z_4. Thus, there's no b in Z_4 such that [2][b] = [1].

We do know that if gcd(b, p) = 1, then b has a multiplicative inverse in Z_p. Hope this helps.