Question: ![http://farm4.static.flickr.com/3338/4564960137_0d3c09192d_o.png](https://i.stack.imgur.com/Y2gpf.png)

can we change text in this lightbox

want to change "This site requires that you Connect with Facebook." and "Connect with Facebook to Continue"

Answer: 
It is always safe! (Math agrees with me.)

The result of a mod operation is always less than the divisor. Since the result of a mod operation is essentially the remainder after performing integer division, you will never have a remainder larger than the divisor. 

I suspect the reason for having the operation return a `long` is because the divisor gets expanded to a `long` before the operation takes place. This makes a `long` result possible. (*note* even though the variable is expanded in memory, its value will not change. An expanded `int` will never be larger than an `int` can hold.)
As Marc B alluded to, Java will promote `b` to a `long` before actually doing the `%` operation. This promotion applies to all the arithmetic operations, even `<<` and `>>` I believe.

In other words, if you have a binary operation and the two arguments don't have the same type, the smaller one will be promoted so that both sides will have the same type.