我正在这个网址上阅读一些文字:
https://cs.senecac.on.ca/~btp100/pages/content/varia_p.html
在“资格赛”部分,他们说:
“我们可以限定 int 类型以确保它包含最少位数” .... 一个 short 至少包含 16 位:...
我不明白这一点,“限定 int 类型”是什么意思以及为什么“A short 包含至少 16 位”。
有人可以详细说明一下吗?谢谢大家。
我正在这个网址上阅读一些文字:
https://cs.senecac.on.ca/~btp100/pages/content/varia_p.html
在“资格赛”部分,他们说:
“我们可以限定 int 类型以确保它包含最少位数” .... 一个 short 至少包含 16 位:...
我不明白这一点,“限定 int 类型”是什么意思以及为什么“A short 包含至少 16 位”。
有人可以详细说明一下吗?谢谢大家。
限定符是变量或函数的额外名称,表示该变量或函数的额外质量或额外含义。就像 Arun Kumar 博士的博士一样
变量的限定符是(TYPE 限定符):signed
, unsigned
, long
, short
, long long
, const
, volatile
, static
, auto
, extern
,register
函数的限定符是:static
, extern
,inline
关键字short
, long
, unsigned
,signed
等称为限定词。限定词的顺序无关紧要,例如
short int signed x; // means signed short int x, at least 16 bits :)
在这一行中,您已经使用和限定符限定了int
类型short
signed
您可以使用限定符来指示要在 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)
一些关键字改变了“int”类型的行为。这些被称为限定符。示例包括“short”、“long”、“unsigned”、“const”、“volatile”。因此,如果我们用“short”来限定“int”,我们知道该变量至少包含 16 位:
short int var;
从逻辑上讲,整数是从负无穷到正无穷的任何整数。
如果能够在 C/C++ 中声明一个 int 并使用它来存储任何整数,那就太好了,但不幸的是,您可以在 int 数据类型中存储的值的范围必须受到限制。
C/C++ 允许您声明 short、int 或 long 变量类型,它们可以分别存储 2^16、2^32 和 2^64 个不同的整数。
说 int 类型是合格的,就等于说它被限制为只能容纳较小的整数子集。
仅用于 ISO 标准C11的说明
typedef
, extern
, static
, _Thread_local
, auto
, register
.void
, char
, short
, int
, long
, float
, double
, signed
, unsigned
, _Bool
, _Complex
, atomic-type-specifier _Atomic (
type name)
, struct-or-union-specifier ( struct
and union
), enum-specifier ( enum
), typedef-name ( typedef
+ something )。const
, restrict
, volatile
, _Atomic
._Atomic
类型限定符与类型_Atomic
说明符不同。