C4004: BitSet/BitClr bit number converted to unsigned char

[INFORMATION]

Description

The compiler has detected a shift count larger than 8bit used for a bitset/bitclear operation. Because it makes no sense to use a shift count larger than 256, the compiler optimizes the shift count to a character type. Reducing the shift count may reduce the code size and improve the code speed (e.g. a 32bit shift compared with a 8bit shift).

Example
  int j; long L;

  
  j |= (1<<L); // the compiler converts 'L'

  
               // to a unsigned character type

  
Tips

None, because it is a hint of compiler optimizations.