1. ホーム
  2. c

[解決済み] unsignedデータ型とは何ですか?

2023-01-24 20:28:05

質問

私はこれを見た unsigned typeeless"が使われているのを何度か見ましたが、その説明を見たことがありません。私は、対応する signed 型があるのでしょう。以下はその例です。

static unsigned long next = 1;
/* RAND_MAX assumed to be 32767 */
int myrand(void) {
    next = next * 1103515245 + 12345;
    return((unsigned)(next/65536) % 32768);
}
void mysrand(unsigned seed) {
    next = seed;
}

今まで集めたもの。

- 私のシステム上では sizeof(unsigned) = 4 (32ビット符号なしintを示唆)

- これは、別の型を符号なしバージョンにキャストするための省略記法として使用されるかもしれません。

signed long int i = -42;
printf("%u\n", (unsigned)i);

これはANSI Cなのか、それとも単なるコンパイラの拡張なのか?

どのように解決するのですか?

unsigned は、本当に unsigned int の略語であり、標準 C 言語で定義されています。