#ifdef WORDS_BIGENDIAN
# define swap_uint16(x) (x)
# define swap_sint16(x) (x)
# define swap_uint32(x) (x)
# define swap_number64(x) (x)
#else /* !defined WORDS_BIGENDIAN */
/* swap 16 bits integers */
# define swap_uint16(x) ((uint16)((((x) & 0x00FFU) << 8) | \
(((x) & 0xFF00U) >> 8)))
# define swap_sint16(x) ((sint16)((((x) & 0x00FF) << 8) | \
(((x) & 0xFF00) >> 8)))
/* swap 32 bits integers */
# define swap_uint32(x) ((uint32)((((x) & 0x000000FFU) << 24) | \
(((x) & 0x0000FF00U) << 8) | \
(((x) & 0x00FF0000U) >> 8) | \
(((x) & 0xFF000000U) >> 24)))
/* swap 64 bits doubles */
number64 swap_number64(number64);
#endif /* WORDS_BIGENDIAN */
转换为BIGEDIAN
最新推荐文章于 2022-06-27 07:00:00 发布