_byteswap_uint64, _byteswap_ulong, _byteswap_ushort
Reverses the order of bytes in an integer.
unsigned short _byteswap_ushort ( unsigned short val ); unsigned long _byteswap_ulong ( unsigned long val ); unsigned __int64 _byteswap_uint64 ( unsigned __int64 val );
Parameters
- val
-
The integer to reverse byte order.
| Routine | Required header | Compatibility |
|---|---|---|
| _byteswap_ushort | <stdlib.h> | Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
| _byteswap_ulong | <stdlib.h> | Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
| _byteswap_uint64 | <stdlib.h> | Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 |
For more compatibility information, see Compatibility in the Introduction.
// crt_byteswap.c
#include <stdlib.h>
int main()
{
unsigned __int64 u64 = 0x0102030405060708;
unsigned long ul = 0x01020304;
printf("byteswap of %I64x = %I64x\n", u64, _byteswap_uint64(u64));
printf("byteswap of %Ix = %Ix", ul, _byteswap_ulong(ul));
}
Output
byteswap of 102030405060708 = 807060504030201 byteswap of 1020304 = 4030201