いいえ。整数である場合にのみ、整数として何かにアクセスできます 。
しかし、ロジックを逆にするだけで、オブジェクトのバイナリ表現を操作する方法を次に示します。
uint32_t n;
unsigned char * p = (unsigned char *)&n;
assert(sizeof n == 4); // assumes CHAR_BIT == 8
p[0] = 0x94; p[1] = 0x15; p[2] = 0xFD; p[3] = 0x23;
教訓: すべてのオブジェクトを一連のバイトとして扱うことはできますが、任意の一連のバイトを特定のオブジェクトとして扱うことはできません。
さらに、型のバイナリ表現はプラットフォームに大きく依存するため、これから得られる実際の整数値はわかりません。基数 256 の数字から整数値を合成するだけの場合は、通常の数学を使用します。
uint32_t n = 0x94 + (0x15 * 0x100) + (0xFD * 0x10000) + (0x23 * 0x1000000);
これは完全にプラットフォームに依存せず、表現ではなく純粋に値の観点から必要なものを表現します。コンパイラーに任せて、コードのマシン表現を生成してください。