-4
(uint32_tヘッダー; char配列[32];) C++でヘッダーから配列にデータをコピーするにはどうすればよいですか?この変換をどのように実行するのですか?私はタイプキャストを試みましたが、うまくいかないようです。バイナリ表現を取得し、char型の配列にそれを変換するuint32_tの値を32の文字配列に変換する方法は?
(uint32_tヘッダー; char配列[32];) C++でヘッダーから配列にデータをコピーするにはどうすればよいですか?この変換をどのように実行するのですか?私はタイプキャストを試みましたが、うまくいかないようです。バイナリ表現を取得し、char型の配列にそれを変換するuint32_tの値を32の文字配列に変換する方法は?
使用std::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];
}
}
これは、リトルエンディアン表記のようになります。
'uint32'は32ビットです。 'char [32]'は32 * 8ビットです。だから問題は本当に、あなたは**実際に**何をしようとしていますか?そのような変換がどのように行われるべきであると思いますか? – Assimilater
実際にはuint32のデータを文字配列の形で格納したい – user8158123
それに応じて調整できるサイズは右 – user8158123