1. ホーム
  2. c++

[解決済み] cでuint4変数の値を印刷する

2022-02-16 12:05:05

質問

私のプログラムでは uint4 x という変数があります。 その値を標準出力に表示しなければなりません。

を使用してどのように実装すればよいのでしょうか? printf ?

ありがとうございました。

uint4 x 4つの符号なし整数からなる構造体

解き方は?

uint4 は標準的な型がなく、共通の定義がない。私が知っているプロジェクトでは uint4 は、これらのいずれかを指します。

  • 32ビット符号なし整数型(1)
  • ビットフィールドとして実現される4ビット符号なし整数型(2)
  • 4個の符号なし整数からなる構造体 (3)

こんな風に印刷するんですね。

// case (1)
#include <inttypes.h>
typedef uint32_t uint4;
uint4 x = 42;
printf("x = %" PRIu32, x);

// case (2)
typedef struct { unsigned value : 4; } uint4;
uint4 x = { 7 };
printf("x = %u", x.value);

// case (3)
typedef struct { unsigned x, y, z, w; } uint4;
uint4 quad = { 1, 2, 3, 4 };
printf("x = %u, y = %u, z = %u, w = %u", quad.x, quad.y, quad.z, quad.w);