清华大学出版社 TSINGHUA UNIVERSITY PRESS 则变量a的数值范围为-32768~32767。而变量b的 数值范围为0~65535。 图34(a)表示有符号整型变量a的最大值32767) 图34(b)表示无符号整型变量b的最大值(65535) 符号位 有符号整型 变量a 一7 无符号整型 变量b1 =65535 (b) 代表数据 的第1位 图3.4
则变量a的数值范围为-32768~32767。而变量b的 数值范围为0~65535。 图3.4(a) 表示有符号整型变量a的最大值(32767)。 图3.4(b) 表示无符号整型变量b的最大值(65535)。 图3.4
清华大学出版社 TSINGHUA UNIVERSITY PRESS C标准没有具体规定以上各类数据所占内存字节数, 只要求ong型数据长度不短于int型, short型不长 于int型。具体如何实现,由各计算机系统自行决 定。如在微机上,int和 short都是16位,而long是 32位。在vax750上, short是16位,而int和ong 都是32位,一般以一个机器字(word)存乓桓鯛nt 数据。前一阶段,微机的字长一般为16位,故以 16位存放一个整数,但整数的范围太小,往往不 够用,故将long型定为32位。而ax的字长为32 位,以32位存放一个整数,范围可达正负21亿, 已足够用了,不必再将long型定为64位。所以将 int和Iong都定为32位。通常的做法是:把long定 为32位,把 Ishort定为16位,而int可以是16
C标准没有具体规定以上各类数据所占内存字节数, 只要求long型数据长度不短于int型,short型不长 于int型。具体如何实现,由各计算机系统自行决 定。如在微机上,int和short都是16位,而long是 32位。在Vax 750 上,short是16位,而int和long 都是32位,一般以一个机器字(word)存乓桓鰅nt 数据。前一阶段,微机的字长一般为16位,故以 16位存放一个整数,但整数的范围太小,往往不 够用,故将long型定为32位。而Vax的字长为32 位,以32位存放一个整数,范围可达正负21亿, 已足够用了,不必再将long型定为64位。所以将 int和long都定为32位。通常的做法是:把long定 为32位,把short定为16位,而int可以是16
清华大学出版社 TSINGHUA UNIVERSITY PRESS 位,也可以是32位。这主要取决于机器字长。在 微机上用ng型可以得到大范围的整数,但同时 会降低运算速度,因此除非不得已,不要随便使 用 long型。 方括弧内的部分是可以省写的。例如 Asigned short int与 short等价,尤其是 signed是完全多余的, 一般都不写 signed。一个整数(以13为例)在存储 单元中的存储情况,见图35所示(假设使用的是 微机上的c编译系统,如 Turbo C、MsC)
位,也可以是32位。这主要取决于机器字长。在 微机上用long型可以得到大范围的整数,但同时 会降低运算速度,因此除非不得已,不要随便使 用long型。 方括弧内的部分是可以省写的。例如signed short int与 short等价,尤其是signed是完全多余的, 一般都不写signed。一个整数(以13为例)在存储 单元中的存储情况,见图3.5所示(假设使用的是 微机上的c编译系统,如turbo C、 Ms C)
清华大学出版社 TSINGHUA UNIVERSITY PRESS oioo00000101int型 符号位 oiooo( o1 short型 Hoio 0000000o0o00001101longI 0o00 unsigned int型 o0oooooo]unsigned shortz oooo000ooo0oo0ooo] unsigned longI 图35
图3.5
清华大学出版社 TSINGHUA UNIVERSITY PRESS 3.整型变量的定义 前面已提到,c规定在程序中所有用到的变量都必 须在程序中定义,即“强制类型定义”。这是和 basic、 fortran不同的,而和 pascal相类似。例如: inta,b;(指定变量a、b为整型) unsigned short c,d;(指定变量c、d为无符号 短整型 long e,f;(指定变量e、f为长整型) 对变量的定义,一般是放在一个函数的开头部分的 声明部分(也可以放在函数中某一分程序内,但 作用域只限它所在的分程序,这将在第6章介绍)
3. 整型变量的定义 前面已提到,c规定在程序中所有用到的变量都必 须在程序中定义,即“强制类型定义”。这是和 basic、fortran不同的,而和pascal相类似。例如: int a,b;(指定变量a、b为整型) unsigned short c,d;(指定变量c、d为无符号 短整型) long e,f; (指定变量e、f为长整型) 对变量的定义,一般是放在一个函数的开头部分的 声明部分(也可以放在函数中某一分程序内,但 作用域只限它所在的分程序,这将在第6章介绍)