[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Как это понимать



On Fri, May 06, 2005 at 10:37:26PM +0400, Artem Chuprina wrote:
>  AK> #define SWAP16(x) \
>  AK>         ((short)( \
>  AK>             (((short)(x) & 0x00ffU) << 8) | \
>  AK>             (((short)(x) & 0xff00U) >> 8) ))
> 
>  AK> А потом делается
> 
>  AK> #ifdef HOST_BIGENDIAN
>  AK> # define MSBWORD16(x)      (x)
>  AK> # define LSBWORD16(x)      SWAP16(x)
>  AK> #else
>  AK> # define LSBWORD16(x)      (x)
>  AK> # define MSBWORD16(x)      SWAP16(x)
>  AK> #endif
> 
>  AK> а при чтении из файла используются эти макросы. То же для всех
>  AK> остальныъх типов.
> 
> Ну и чем бы это лучше, чем побайтно?

Во-первых, код яснее, а во-вторых, быстрее. Вообще не понимаю, зачем
городить огород с байтами.

-- 
Andrey V. Kiselev
Home phone:  +7 812 5970603  ICQ# 26871517



Reply to: