fixed point variables?

The type needs to be chosen so that the variables can hold the full range of values that they need to hold. So you need to work out what the range of possible values is, and then choose the appropriate integer type to hold those values.

For example if you need to hold a percentage (0 .. 100) to three decimal places then the range of possible values is 0 .. 100000; a long is the most appropriate integer type for that range.