Как я должен преобразовать значение uint32_t в массив символов размером 32?

(заголовок uint32_t; массив символов [32];)
Как скопировать данные из заголовка в массив в C ++? как осуществить это преобразование? Я пробовал тип-трансляцию, но, похоже, она не работает.

-4

Решение

использование станд :: BitSet чтобы получить двоичное представление и преобразовать его в массив символов:

#include <iostream>
#include <cstdint>
#include <bitset>

int main()
{
std::uint32_t x = 42;
std::bitset<32> b(x);
char c[32];
for (int i = 0; i < 32; i++)
{
c[i] = b[i] + '0';
std::cout << c[i];
}
}

Это будет похоже на представление с прямым порядком байтов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]