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: