_byteswap_uint64, _byteswap_ulong, and _byteswap_ushort work with MSVC and GCC but not on Clang. Is there a standard way of reversing the bits in a number?