Программирование DSP Макросы для реверсирования порядка байт Sat, December 21 2024  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Макросы для реверсирования порядка байт Печать
Добавил(а) 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).

 

Добавить комментарий


Защитный код
Обновить

Top of Page