_byteswap_uint64,
_byteswap_ulong,
_byteswap_ushort
Reverses the order of bytes in an integer.
These function returns the argument value with its bytes in reverse order
或者
template <typename T>
T BE(T n)//此操作只能针对无符号数
{
T temp;
switch (sizeof(T))
{
case 1:
return(n);break;
case 2:
return((n<<8) + (n>>8) );break;
case 3:
return( (n<<16) + (n<<8>>16<<8) + (n>>16));break;
case 4:
return( (n<<24) +(n<<16>>24<<16) + (n<<8>>24<<8) +(n>>24));break;
case 8:
return( (n<<56) +(n<<48>>56<<48) +(n<<40>>56<<40) +(n<<32>>56<<32) +(n<<24>>56<<24) +(n<<16>>56<<16) +(n<<8>>56<<8) +(n>>56));break;
default:
return(n);
}
};