第三章数据类型、运算将和表达式 预备知识 数据类型 常量与变量 不同类型数据间的转换 远算符和表达式
第三章 数据类型、运算符和表达式 预备知识 数据类型 常量与变量 不同类型数据间的转换 运算符和表达式
§3.0预备知识 ★计算机中数的表示及进制转换 今数码、基与权 ●数码:表示数的符号 ●基:数码的个数 ●权:每一位所具有的值 第二章数据描述 数制
§3.0 预备知识 计算机中数的表示及进制转换 ❖数码、基与权 ⚫数码:表示数的符号 ⚫基:数码的个数 ⚫权:每一位所具有的值 ❖数制 语 言 程 序 设 计 第 二 章 数 据 描 述 C
程数制十进制数二进制数八进制数十六进制数 设 计数码 0~9 0~1 0~7 0-9.. f 基 10 2 8 16 权 10°,101,10 16°,161,162, 表示 八进制:4275=4×83+2×82+7×81+5×8°)+14×16° 第特点逢十进一逢二进 逢八进 逢十六进 章数据描述一
数制 基 权 表示 数码 特点 10º,10¹,10²,… 十进制数 0~9 10 逢十进一 二进制数 0~1 2 2º,2¹,2²,… 逢二进一 八进制数 0~7 8 8º,8¹,8²,… 逢八进一 十六进制数 0~9,A~F,a~f 16 16º,16¹,16²,… 逢十六进一 十进制: 二六进制: 八进制:4956= 10111 4275=4 81AE=8 42³+0 8³+2 10³+9 16³+1 2² +1 8² +7 10² +5 16² +10 2¹+1 8¹+5 10¹+6 2º8º16¹+14 10º16º 语 言 程 序 设 计 第 二 章 数 据 描 述 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
各种进制之间的转换(整数) 程 二进制、八进制、十六进制转换成十进制 设 计 ◆方法:按权相加 =a.×2n+a.,x2n+ +a1X2+nk20 2 (a×2+a.1 22+…+a1×2)+ 第 :a是的余数 据 描 术
❖各种进制之间的转换(整数) ⚫二进制、八进制、十六进制转换成十进制 ◆方法:按权相加 是 的余数 2 2 ( 2 2 ...... 2 ) 2 2 ...... 2 2 ( ...... ) 0 0 0 1 2 1 1 0 0 1 1 1 1 1 1 0 2 N a a a a a a a a a N a a a a n n n n n n n n n n = + + + + = + + + + = − − − − − − 语 言 程 序 设 计 第 二 章 数 据 描 述 C
今各种进制之间的转换(整数) ●十进制转换成二进制、八进制、十六进制 程 设 ◆方法:连续除以基,从低到高记录余数, 计 直至商为0 例把连制数F和转揍数进制 例把干进制数459转换成十六进制 2|89159余斜7 1259余3 倒個2杀2 26710余11 余 B (159)=237 第二章数据描述 (458)m(1CB)111011 (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 例 0011 (1101001)2=(001,101,001)2=(151)8010~2 例 0113 第二章数据描述 (246)8=(010,100,110)2=(10100110)2 1004 1015 1106 1117
⚫二进制与八进制之间的转换 ◆二进制转换成八进制:从右向左,每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
●二进制与十六进制之间的转换 00000 程◆二进制转换成十六进制:从右向左,每4位一0001~1 组(不足4位左补0),转换成十六进制 00102 设 计 00113 ◆十六进制转换成二进制:用4位二进制数代替|010~4 每一位十六进制数 01015 例 01106 01117 (11010101111120101001008 例 =(357D)16 10019 1010A 第(4B9E)16=(01001011001102 1011B 1100C 章 =(100101110011110)2 数 1101~D 据 1110E 描 1111F 术
⚫二进制与十六进制之间的转换 ◆二进制转换成十六进制:从右向左,每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
★字节和位 65432 0 程冷内存以字节为单元组成 每个字节有一个地址 计 个字节一般由8个二进制位组成 今每个二进位的值是0或1 012345678 第二章数据描述 765432
字节和位 ❖内存以字节为单元组成 ❖每个字节有一个地址 ❖一个字节一般由8个二进制位组成 ❖每个二进位的值是0或1 7 6 5 4 3 2 1 0 0123456789 10 ……... 语言程序设计第二章数据描述C 7643251
★数值的表示方法—原码、反码和补码 原码:最高位为符号位,其余各位为数值本身的绝对值 程 今反码: 设 ●正数:反码与原码相同 计 ●负数:符号位为1,其余位对原码取反 补码 ●正数:原码、反码、补码相同 ●负数:最高位为1,其余位为原码取反,再对整个数加1 12 10 2 9-5=4 第二章数据描述 9 3 9+7=16=(14)1 5
数值的表示方法——原码、反码和补码 ❖原码:最高位为符号位,其余各位为数值本身的绝对值 ❖反码: ⚫正数:反码与原码相同 ⚫负数:符号位为1,其余位对原码取反 ❖补码: ⚫正数:原码、反码、补码相同 ⚫负数:最高位为1,其余位为原码取反,再对整个数加1 3 12 6 9 1 2 4 7 5 8 10 11 9-5=4 9+7=16=(14)12 语 言 程 序 设 计 第 二 章 数 据 描 述 C