however
if you have a word var say numx
and x =4095
then 50*numx/100 the result is 81
the word var causes a intermediate stage overflow (bits 0-15 of 204750 =8142)
I still say integer math is tricky and results need to be double checked