/// Calculates how many minimum bits needed to store given value.
/// Calculates how many minimum bits needed to store given value for Huffman jpeg encoding.
/// This method does not follow the standard convention - it does not support input value of zero.
/// </summary>
/// <param name="number">Unsigned integer to store</param>
/// <returns>Minimum number of bits needed to store given value</returns>
/// <remarks>
/// Passing zero as input value would result in an undefined behaviour.
/// This is done for performance reasons as Huffman encoding code checks for zero value, second identical check could degrade the performance in the hot path.
/// If this method is needed somewhere else apart from jpeg encoding - use explicit if check for zero value case.