Сообщение поменять местами байты в uint32_t от 23.03.2015 20:11
Изменено 23.03.2015 20:13 IROV..
есть
нужно поменять FF и AA местами
как правильней делать?
преобразовать к uint8_t * и свапнуть 0 и 2 элемент.
либо делать
для x84 и для ARM и вообще для мобильных и тд
uint32_t color = 0xFFFF00AA;
нужно поменять FF и AA местами
как правильней делать?
преобразовать к uint8_t * и свапнуть 0 и 2 элемент.
либо делать
uint8_t a = (color >> 24) & 0xFF;
uint8_t b = (color >> 16) & 0xFF;
uint8_t g = (color >> 8) & 0xFF;
uint8_t r = (color >> 0) & 0xFF;
uint32_t p_color = (a << 24) + (r << 16) + (g << 8) + (b << 0);
для x84 и для ARM и вообще для мобильных и тд
поменять местами байты в uint32_t
есть
нужно поменять FF и AA местами
как правильней делать?
преобразовать к uint8_t * и свапнуть 0 и 2 элемент.
либо делать
для x84 и для ARM и вообще для мобильных и тд
З.Ы. кроме big endian проблемы
uint32_t color = 0xFFFF00AA;
нужно поменять FF и AA местами
как правильней делать?
преобразовать к uint8_t * и свапнуть 0 и 2 элемент.
либо делать
uint8_t a = (color >> 24) & 0xFF;
uint8_t b = (color >> 16) & 0xFF;
uint8_t g = (color >> 8) & 0xFF;
uint8_t r = (color >> 0) & 0xFF;
uint32_t p_color = (a << 24) + (r << 16) + (g << 8) + (b << 0);
для x84 и для ARM и вообще для мобильных и тд
З.Ы. кроме big endian проблемы