See the
java language specification, �5.6.2:
if either operand is a double,
the other operand is converted to double
otherwise, if one of the operands is a float,
the other operand is converted to a float
otherwise, if one of the operands is a long,
the other operand is converted to a long
otherwise,
both operands are converted to int
you would need to cast to short
after the addition as in
c = (short) (a + b);