Bitwise operation - return highest bit that is on
<p>If I have a flags enum as a member on a class, for example a Port class with a SupportedUsbProtocols enum that is set up as follows:</p>

<pre><code>[Flags]
public enum USB_PROTOCOLS : uint
{
    Usb110 = 0x01,
    Usb200 = 0x02,
    Usb300 = 0x04,
}
</code></pre>

<p>How could I most efficiently return the highest value contained in SupportedUsbProtocols using a bitwise operator?</p>

<p>For example, my Port class has a SupportedUsbProtocols and say for a particular instance, the SupportedUsbProtocols = Usb110 | Usb200. I want to return Usb200 from a method that I will call HighestUsbProtocolSupported (or something like that).</p>