Assignment to Int Variable Seems Improper

In reply to Karan:

Yes. C behaves the same way, although the C standard defines it a bit more explicitly than the SystemVerilog standard.

From C11:

When integers are divided, the result of the / operator is the algebraic quotient with any
fractional part discarded. …This is often called “truncation toward zero”.