1 / 7 C 语言整型数据分析 不同类型的量可以参与运算并相互赋值。其中的类型转换是由编译系统自动完成的。以下是小编为大家搜索整理的C 语言整型数据分析,希望能给大家带来帮助 !更多精彩内容请及时关注我们学优考试网 ! 整型数据即整数。 整型数据的分类 整型数据的一般分类如下: 基本型:类型说明符为 内存中占 2个字节。 短整型:类型说明符为 占字节和取值范围均与基本型相同。 长整型:类型说明符为 内存中占4 个字节。 无符号型:类型说明符为 无符号型又可与上述三种类型匹配而构成: 无符号基本型:类型说明符为 无符号短整型:类型说明符为 无符号长整型:类型说明符为 下表列出了 类型说明符 数的范围 字节数 2 / 7 32768~32767,即 2152 ~65535,即 0~(2162 32768~32767,即 2152 ~65535,即 0~(2162 2147483648~2147483647,即 2314 ~4294967295,即 0~(2324 整型数据在内存中的存放形式 如果定义了一个整型变量 i: i; i=10; 数值是以补码表示的: 正数的补码和原码相同 ; 负数的补码:将该数的绝对值的二进制形式按位取反再加 1。 例如:求 由此可知,左面 的第一位是表示符号的。 各种无符号整型数据所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数C 语言整型数据分析。 以 13为例: 整型数据的表示方法 3 / 7 上面讲到的整数,都是十进制。在 C 语言中,常用的还有八进制和十六进制。下面集中讲解一下: 1) 十进制数 十进制数没有前缀。其数码为 0~ 9。 以下是合法的十进制数: 237、 65535、 1627; 以下是不合法的十进制数: 023 (不能有前导 0)、 23D (含有非十进制数码 )。 在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造成结果不正确。 2) 八进制数 八进制数必须以 0 开头,即以 0作为八进制数的前缀。数码取值为 0~ 7C 语言整型数据分析。八进制数通常是无符号数。 以下是合法的八进制数: 015(十进制为 13)、 0101(十进制为 65)、 0177777(十进制为 65535); 以下是不合法的八进制数: 256(无前缀 0)、 03含了非八进制数码 )、 现了负号 )。 3) 十六进制数 十六进制数的前缀为 0x。其数码取值为 0~9, A~F或 a~f。 以下是合法的十六进制数: 0进制为 42)、 0十进制为 160)、 0十进制为 65535); 4 / 7 以下是不合法的十六进制数: 5A (无前缀 0X)、 0含有非十六进制数码 )。 4) 整数的后缀 可以用后缀 “L” 或 “l” 来表示长整型数。例如: 十进制长整型数: 158L (十进制为 158)、 358000L (十进制为 358000); 八进制长整型数: 012L (十进制为 10)、 077L (十进制为 63)、 0200000L (十进制为 65536); 十六进制长整型数: 0十进制为 21)、 0十进制为 165)、 0十进制为 65536)。 长整型数 158L 和基本整型数 158 在数值上并无区别。但对 158L,因为是长整型数, 个字节存储空间。而对 158,因为是基本整型,只分配 2 个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。 无符号数也可用后缀表示,整型数的无符号数的后缀为“U” 或 “u” 。例如: 358u、 0235为无符号数。 前缀,后缀可同时使用以表示各种类型的数。如 05,其十进制为 165C 语言整型数据分析。 几个整 型变量的定义: a,b,c; // a,b,c 为整型变量 5 / 7 x,y; // x,y 为长整型变量 p,q; // p,q 为无符号整型变量 【例 3型变量的定义与使用。 #{ a,b,c,d; u; a=12;b=u=10; c=a+u;d=b+u; a+u=%d,b+u=%d \n”,c,d); ; } 整型数据的溢出 【例 3型数据的溢出。 #{ a,b; a=32767; b=a+1; %d,%d \n”,a,b); ; } 6 / 7 注意:以上结果是在下得出的 ;在下,输出值是 32767, 32768因为 型在 下默认是 2 个字节,在下默认是 4个字节, 32768 不会导致溢出。将 a = 32767 改成 a = 2147483647 后即可看到溢出。 【例 3同类型变量赋值 #{ x,y; a,b,c,d; x=5; y=6; a=7; b=8; c=x+a; d=y+b; c=x+a=%d,d=y+b=%d \n”,c,d); ; } 从程序中可以看到: x、 y 是长整型变量, a、 b 是基本整型变量。它们之间允许进行运算,运算结果为长整型。但c、 此最后结果为基本整型。 7 / 7