3.3整型数据 整型数据( Integer 问题 口整型常量 0123=(83) 0X123 291) 形式 表示方式0Xf=(256) 十进制整数由数字09和正负号表示 123,-456,0 八进制整数由数字0开头,后跟数字07表示0123,011 十六进制整由0x开头,后跟0°9,af,AF表 0x123,0Xff 数 小
◼ 整型数据(Integer) 整型常量 形式 表示方式 举例 十进制整数 由数字0~9和正负号表示 123,-456,0 八进制整数 由数字0开头,后跟数字0~7表示 0123,011 十六进制整 数 由0x开头,后跟0~9,a~f,A~F表 示 0x123,0Xff 问题: 0123 = ( )10 0x123 = ( )10 0Xff = ( )10 83 291 256 3.3 整型数据
整型常量的类型(P44) 根据其值所在范围确定其数据类型 在整常量后加字母u或∪,认为它是 unsigned int型 在整常量后加字母或L,认为它是 long int型常量 例 30000为in型 例12与12U 65536为 glong int型 例12与12L
整型常量的类型 (P44) • 根据其值所在范围确定其数据类型 • 在整常量后加字母u或U,认为它是unsigned int型 • 在整常量后加字母l或L,认为它是long int 型常量 例 12 与 12L 例 30000 为int型 65536 为long int型 例 12 与 12U
口整型变量 整型变量在内存中以二进制补码的形式存放 根据占用的字节数不同,分为不同类别 所占位数 数的范围 int 16 32768~32767 即-2-(25-1) short [int] 16 32768~32767 即-215~(215-1 long [int] 32 2147483648~2147483647 即-231~(23-1) unsigned [int] 16 0~65535 即0~(216-1) unsigned short 16 0~65535 即0~(216-1) unsigned long 32 0~4294967295 即0~(232-1)
整型变量 • 整型变量在内存中以二进制补码的形式存放 • 根据占用的字节数不同,分为不同类别
整型变量的定义 变量的定义一般 放在一个函数开 #include <stdio h> 头的声明部分 ma 运行结果:a+u=22,b+u=-14 int a.b. cd unsigned u a=12;b=-24;u=10; c=atu; d=b+u printf( a+u=%d, b+u=%d\n'', c, d)
• 整型变量的定义 整型变量定义举例: int a,b; unsigned short c,d; long e, f; #include <stdio.h> main() { int a,b,c,d; unsigned u; a=12; b=-24; u=10; c=a+u; d=b+u; printf(“a+u = %d, b+u = %d\n”,c, d); } 运行结果:a+u = 22, b+u = -14 变量的定义一般 放在一个函数开 头的声明部分
·整型数据的溢出( Overflow) 溢出:数据超出了变量能够存储的范围,造成数 据丢失或数值改变等 32767的补码 void ma 0111111111111111 inta=32767: +1 a=a+1;/*32768?*/ 1000000000000000 32768的补码
• 整型数据的溢出 (Overflow) 溢出:数据超出了变量能够存储的范围,造成数 据丢失或数值改变等 void main() { int a = 32767; a=a+1; /*32768?*/ } 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +1 32767的补码 -32768的补码