Multiplication, division. What is wrong?
300


and

1000


are integers.

What

long V2 = (300 * 1000)/30000;


really does is take the integers 300 and 1000 multiply them. This calculation overflows, and equals -27680. Dividing that by 30000 yields 0. What you added in your comment isn't a hack, it's the proper solution. By including the suffix L or UL you tell the compiler that you want longs, not ints.