第三章数据类型运算符与表达式 预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
第三章 数据类型运算符与表达式 预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
§3.0预备知识 程 ★计算机中数的表示及进制转换 设 今数码、基与权 计 数码:表示数的符号 ●基:数码的个数 权:每一位所具有的值 数制 第三章数据描述
§3.0 预备知识 计算机中数的表示及进制转换 ❖数码、基与权 ⚫数码:表示数的符号 ⚫基:数码的个数 ⚫权:每一位所具有的值 ❖数制 语 言 程 序 设 计 第 三 章 数 据 描 述 C
程 ◇各种进制之间的转换 二进制、八进制、十六进制转换成十进制 设 ◆方法:按权相加 计 例(1110112=1×23+1×24+1×23+0×22+1×21+1×20=(59 例(136)s=1×82+3×81+6×8=(94)1 ligs (1F2A)6=1×163+15×162+2×16+10×16=(7978)0 章数据描述一
❖各种进制之间的转换 ⚫二进制、八进制、十六进制转换成十进制 ◆方法:按权相加 1 0 5 4 3 2 1 0 例 (111011)2 = 1 2 +1 2 +1 2 + 0 2 +1 2 +1 2 =(59) 1 0 2 1 0 例 (136)8 = 18 + 38 + 68 =(94) 1 0 3 2 1 0 例 (1F2A)1 6 = 116 +1516 + 216 +1016 =(7978) 语 言 程 序 设 计 第 三 章 数 据 描 述 C
☆各种进制之间的转换(整数) 二进制、八进制、十六进制转换成十进制 程 ◆方法:按权相加 设 ●十进制转换成二进制、八进制、十六进制 计 ◆方法:连续除以基,从低到高记录余数,直至商为0 例把連制巍輟转蓣舰歎进制数 例把十进制数459转换成十六进制数 2|89159 余杀 2859斜3 倒個2刹2 70余1 23 余1 第三章数据描述 CB (159)123 48=(c)11101 (59)0=(111011)2
❖各种进制之间的转换(整数) ⚫二进制、八进制、十六进制转换成十进制 ◆方法:按权相加 ⚫十进制转换成二进制、八进制、十六进制 ◆方法:连续除以基,从低到高记录余数,直至商为0 例 把十进制数59转换成二进制数 2 59 2 29 2 14 2 7 2 3 2 1 0 (59)10=(111011)2 1 1 0 1 1 1 1 1 1 0 1 1 余 余 余 余 余 余 例 把十进制数159转换成八进制数 8 159 8 19 8 2 0 (159)10=(237)8 2 3 7 余 7 余 3 余 2 例 把十进制数459转换成十六进制数 16 459 16 28 16 1 0 (459)10=(1CB)16 1 C B 余11 余12 余 1 语 言 程 序 设 计 第 三 章 数 据 描 述 C
●二进制与八进制之间的转换 程 ◆二进制转换成八进制:从右向左,每3位一组(不足3位左 设 补0),转换成八进制 计 ◆八进制转换成二进制:用3位二进制数代替毎一位八进制数 000~0 001~1 例(1101001)2=(001,101,001)2=(151) 010~2 011~3 100~4 例(246)=(010,100,110)2=(10100110)2 101~5 110~6 第 111~7 数 据 描 术
⚫二进制与八进制之间的转换 ◆二进制转换成八进制:从右向左,每3位一组(不足3位左 补0),转换成八进制 ◆八进制转换成二进制:用3位二进制数代替每一位八进制数 例 (1101001)2=(001,101,001)2=(151)8 例 (246)8=(010,100,110)2=(10100110)2 000 ~ 0 001 ~ 1 010 ~ 2 011 ~ 3 100 ~ 4 101 ~ 5 110 ~ 6 111 ~ 7 语 言 程 序 设 计 第 三 章 数 据 描 述 C
二进制与十六进制之间的转换 言◆二进制转换成十六进制:从右向左,每4位一组 0000~0 程 (不足4位左补0),转换成十六进制 0001~1 ◆十六进制转换成二进制:用4位二进制数代替每 0010~2 设 计 位十六进制数 0011~3 0100~4 0101~5 例(1101010111101)2=(0011,0101,011111(357D)16 0110~6 0111~7 1000~8 1001~9 例(4B9E)e=(0100,1011100110(10010111011010A 1011~B 1100~C 1101~D 第三章数据描述 1110~E l111~F
⚫二进制与十六进制之间的转换 ◆二进制转换成十六进制:从右向左,每4位一组 (不足4位左补0),转换成十六进制 ◆十六进制转换成二进制:用4位二进制数代替每一 位十六进制数 例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16 例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)2 0000 ~ 0 0001 ~ 1 0010 ~ 2 0011 ~ 3 0100 ~ 4 0101 ~ 5 0110 ~ 6 0111 ~ 7 1000 ~ 8 1001 ~ 9 1010 ~ A 1011 ~ B 1100 ~ C 1101 ~ D 1110 ~ E 1111 ~ F 语 言 程 序 设 计 第 三 章 数 据 描 述 C
0 ★字节和位 程 今内存以字节为单元组成 设 今每个字节有一个地址 计 个字节一般由8个二进制位组成 今每个二进位的值是0或1 765432 L349st87I0 0 第三章数据描述
字节和位 ❖内存以字节为单元组成 ❖每个字节有一个地址 ❖一个字节一般由8个二进制位组成 ❖每个二进位的值是0或1 7 6 5 4 3 2 1 0 0123456789 10 ……... 语言程序设计第三章数据描述C 7643251
★数值的表示方法—原码、反码和补码 程 ◆原码:最高位为苻号位,其余各位为数值本身的绝对值 ◆反码: 设 计 ●正数:反码与原码相同 ●负数:符号位为1.其余位对原码取反 今补码 ●正数:原码、反码、补码相同 ●负数:最高位为1.其余位为原码取反,再对整个数加1 第三章数据描述
数值的表示方法——原码、反码和补码 ❖原码:最高位为符号位,其余各位为数值本身的绝对值 ❖反码: ⚫正数:反码与原码相同 ⚫负数:符号位为1,其余位对原码取反 ❖补码: ⚫正数:原码、反码、补码相同 ⚫负数:最高位为1,其余位为原码取反,再对整个数加1 语 言 程 序 设 计 第 三 章 数 据 描 述 C
(用一字节表示数) 程 原码 反码 补码 +7 00000111 00000111 00000111 设 计 10000111 11111000 11111001 +0 00000000 00000000 00000000 10000000 11111111 00000000 01111111~ 01111111~ 01111111~ 数的范围11111 10000000 10000000 (127~+127)(127~+127)(128+127) ◆负数补码转换成十进制数:最高位不动,其佘位取反加1 第三章数据描述 例补码:111101 取反:10000110 加1:10000111=-7
原码 反码 补码 +7 00000111 00000111 00000111 -7 10000111 11111000 11111001 +0 00000000 00000000 00000000 -0 10000000 11111111 00000000 数的范围 01111111~ 11111111 (-127~+127) 01111111~ 10000000 (-127~+127) 01111111~ 10000000 (-128~+127) (用一字节表示数) ❖负数补码转换成十进制数:最高位不动,其余位取反加1 例 补码:11111001 取反:10000110 加1: 10000111=-7 语 言 程 序 设 计 第 三 章 数 据 描 述 C
§3.1数据类型 短整型 short 程 ★数据类型总表整型{整型it 长整型long 设 计 基本类型 单精度型foat 实型 双精度型 double 字符类型char 数组 数据类型决定 1.数据占内存字节数 C 结构体 struct 2.数据取值范围 数 据)造类型 共用体uion|3.其上可进行的操作 类型 枚举类型enum 第三章数据描述 指针类型 空类型void 定义类型 typedef
§3.1 数据类型 数据类型总表 C 数 据 类 型 基本类型 构造类型 指针类型 空类型void 定义类型typedef 字符类型char 枚举类型enum 整 型 实型 单精度型float 双精度型double 数组 结构体struct 共用体union 短整型short 长整型long 整型int 数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作 语 言 程 序 设 计 第 三 章 数 据 描 述 C