public static class UShortExtensions
    {
        public static int Section(this ushort value, int offset, int width)
        {
            var mask = 0;
            for (int i = 0; i < width; i++)
            {
                mask |= 1 << i;
            }

            var result = (value >> offset) & mask;
            return result;
        }
    }