title: Avoid mix of arithmetic precision in expressions - for constant numbers
body: <p>My static analysis tool has a rule to not mix arithmetic precision in expressions. Taking the code below:</p>
  
  <pre><code>unsigned short minutes = 0;
  unsigned short minutesTens = 3;
  unsigned short minutesUnits = 52;
  
  minutes = (minutesTens * 10) + usMinutesUnits; // &lt;---- rule violation here
  </code></pre>
  
  <p>So all variables are <code>"unsigned short";</code> <code>"minutesTens * 10"</code> must not be an unsigned short. I assume that "10" is an "integer", so does this mean that I must do:</p>
  
  <pre><code>minutes = (minutesTens * 10U) + usMinutesUnits;
  </code></pre>
  
  <p>And if so, is this really necessary? or is the rule overly strict?</p>