整数的长度 整数的类型与长度 short:占2字节(16bit) ■1ong:占4字节(32bit) int:占2或4字节(16或32bit) ■2 Bytes= short≤int≤1ong=4 Bytes 若需要精确的长度,可选用 short或]ong 举例 ■BC3.1:int长度为2 Bytes ■goc:int长度为4 Bytes C语言程序设计-第2章数据类型、运算符和表达式16
C语言程序设计 - 第2章 数据类型、运算符和表达式 16 整数的长度 ⚫ 整数的类型与长度 ◼ short:占2字节(16bit) ◼ long: 占4字节(32bit) ◼ int: 占2或4字节(16或32bit) ◼ 2Bytes = short ≤ int ≤ long = 4Bytes ◼ 若需要精确的长度,可选用short或long ⚫ 举例 ◼ BC3.1: int长度为2Bytes ◼ gcc: int长度为4Bytes
有符号数与无符号数 有符号数 二进制补码表示,首位为符号位 指定 signed或缺省情况,即为有符号数 无符号数 没有符号位,只能表示非负数 ■无符号数类型必须指定为 unsigned 若把负数赋值给无符号数,则把该负数的补 码当作无符号数进行处理 C语言程序设计ˉ第2章数据类型、运算符和表达式17
C语言程序设计 - 第2章 数据类型、运算符和表达式 17 有符号数与无符号数 ⚫ 有符号数 ◼ 二进制补码表示,首位为符号位 ◼ 指定signed或缺省情况,即为有符号数 ⚫ 无符号数 ◼ 没有符号位,只能表示非负数 ◼ 无符号数类型必须指定为unsigned ◼ 若把负数赋值给无符号数,则把该负数的补 码当作无符号数进行处理
有符号数与无符号数举例 void main () 50的补码 11l1l01l int i /2 unsigned ji 25的补码J i/2 i=j=-50 11001 i=i/2;/*-25*/ j=/2;/*32743*/32743的补码/原码 j/2 01110011 C语言程序设计-第2章数据类型、运算符和表达式18
C语言程序设计 - 第2章 数据类型、运算符和表达式 18 有符号数与无符号数举例 void main() { int i; unsigned j; i=j=-50; i=i/2; /*-25*/ j=j/2; /*32743*/ } 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 -50的补码 i,j / 2 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 -25的补码 i/2 32743的补码/原码 j/2
整型数据的取值范围 类型 长度bit)取值范围 [signed] short [int] 16 215~2151 unsigned short [int] 16 16 [signed] int 16or32-215(31)~215(31) unsigned [int] 16or32 0~216(32)-1 [signed] long [int] 231~231-1 unsigned long [int] 0~232-1 C语言程序设计ˉ第2章数据类型、运算符和表达式19
C语言程序设计 - 第2章 数据类型、运算符和表达式 19 整型数据的取值范围 类 型 长度 (bit) 取值范围 [signed] short [int] 16 -2 15 ~ 215 -1 unsigned short [int] 16 0 ~ 216 -1 [signed] int 16 or 32 -2 15(31) ~ 215(31) -1 unsigned [int] 16 or 32 0 ~ 216(32) -1 [signed] long [int] 32 -2 31 ~ 231 -1 unsigned long [int] 32 0 ~ 232 -1
整型变量的定义( Definition) 定义形式 int a b ■ unsigned c; long di ■ unsigned short e; ●变量的定义一般放在一个函数开头的声 明部分,关于变量定义的具体内容在以 后相关章节里详细介绍 C语言程序设计ˉ第2章数据类型、运算符和表达式20
C语言程序设计 - 第2章 数据类型、运算符和表达式 20 整型变量的定义 (Definition) ⚫ 定义形式 ◼ int a, b; ◼ unsigned c; ◼ long d; ◼ unsigned short e; ⚫ 变量的定义一般放在一个函数开头的声 明部分,关于变量定义的具体内容在以 后相关章节里详细介绍