質問: '0';//エンディアン変換 } printf("BITS(%d) : %c\n", bit_cnt, endian_data->bit[bit_cnt]); } } ```
回答: unionのデータの配置はコンパイラ依存となります。パディング(詰め物)が途中に入る可能性があります。 従って32ビットデータ(int)をバイトデータ(char)で取り出したときに同じならびになる保障はありません。 一度DATAをダンプして確認したほうがいいと思います。