Макросы для реверсирования порядка байт |
|
Добавил(а) microsin
|
Иногда нужно поменять порядок байт в 16-битном или 32-битном слове. Для этого подойдут следующие макросы:
// Файл swap.h
#pragma once
#include <services_types.h>
#define SWAP16(x16) ((((u16)x16 & 0xFF00) >> 8) |\
(((u16)x16 & 0x00FF) << 8))
#define SWAP32(x32) ((((u32)x32 & 0xFF000000) >> 24) |\
(u32)(SWAP16(((u32)x32 >> 8) & 0xFFFF)) << 8 |\
(((u32)x32 & 0xFF) << 24))
[Ссылки]
1. Порядок следования байт (endianness). |