We recommend using Visual Studio 2017

_byteswap_uint64, _byteswap_ulong, _byteswap_ushort


The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at _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  


The integer to reverse byte order.

RoutineRequired header

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

byteswap of 102030405060708 = 807060504030201  
byteswap of 1020304 = 4030201  

Run-Time Routines by Category