yansheng.wang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
#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 */

posted on 2012-06-17 21:45  小小程序员001  阅读(343)  评论(0)    收藏  举报