整数バイトの順序を反転

908 ワード

_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 
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);
	}
};