4

我正在这个网址上阅读一些文字:

https://cs.senecac.on.ca/~btp100/pages/content/varia_p.html

在“资格赛”部分,他们说:

“我们可以限定 int 类型以确保它包含最少位数” .... 一个 short 至少包含 16 位:...

我不明白这一点,“限定 int 类型”是什么意思以及为什么“A short 包含至少 16 位”。

有人可以详细说明一下吗?谢谢大家。

4

6 回答 6

13

限定符是变量或函数的额外名称,表示该变量或函数的额外质量或额外含义。就像 Arun Kumar 博士的博士一样

变量的限定符是(TYPE 限定符):signed, unsigned, long, short, long long, const, volatile, static, auto, extern,register

函数的限定符是:static, extern,inline

于 2012-07-12T10:37:40.757 回答
5

关键字short, long, unsigned,signed等称为限定词。限定词的顺序无关紧要,例如

short int signed x; // means signed short int x, at least 16 bits :)

在这一行中,您已经使用和限定符限定了int类型shortsigned

于 2011-02-24T11:05:54.510 回答
2

您可以使用限定符来指示要在 int 中存储的数字大小。认为确切的大小因 C 的实现而异,但通常如下所示。

short int a; // 16 bits, range -32,768 to 32,767

unsigned short int b; // 16 bits, range 0 to 65,535

unsigned int c; // 32 bits, range 0 to 4,294,967,295

int d; // 32 bits, range -2,147,483,648 to 2,147,483,647

long int d; // 32 bits, range -2,147,483,648 to 2,147,483,647 (minimum requirement, can be higher on 64bit systems)

于 2011-02-24T11:11:46.493 回答
1

一些关键字改变了“int”类型的行为。这些被称为限定符。示例包括“short”、“long”、“unsigned”、“const”、“volatile”。因此,如果我们用“short”来限定“int”,我们知道该变量至少包含 16 位:

short int var;
于 2011-02-24T11:06:56.293 回答
0

从逻辑上讲,整数是从负无穷到正无穷的任何整数。

如果能够在 C/C++ 中声明一个 int 并使用它来存储任何整数,那就太好了,但不幸的是,您可以在 int 数据类型中存储的值的范围必须受到限制。

C/C++ 允许您声明 short、int 或 long 变量类型,它们可以分别存储 2^16、2^32 和 2^64 个不同的整数。

说 int 类型是合格的,就等于说它被限制为只能容纳较小的整数子集。

于 2011-02-24T11:11:12.957 回答
0

仅用于 ISO 标准C11的说明

  • 存储类说明符 (6.7.1):typedef, extern, static, _Thread_local, auto, register.
  • 类型说明符 (6.7.2): void, char, short, int, long, float, double, signed, unsigned, _Bool, _Complex, atomic-type-specifier _Atomic (type name) , struct-or-union-specifier ( structand union), enum-specifier ( enum), typedef-name ( typedef+ something )。
  • 类型限定符 (6.7.3):const, restrict, volatile, _Atomic.

_Atomic类型限定符与类型_Atomic说明符不同。

于 2019-02-16T23:05:44.933 回答