资源预览内容
第1页 / 共79页
第2页 / 共79页
第3页 / 共79页
第4页 / 共79页
第5页 / 共79页
第6页 / 共79页
第7页 / 共79页
第8页 / 共79页
第9页 / 共79页
第10页 / 共79页
亲,该文档总共79页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
宋传鸣,数据表达与运算,辽宁师范大学计算机与信息技术学院,计算机科学与技术专业课程,Data Representation and Operation,计算机导论,内容提要,数据表示与计算,位置化数字系统,进位制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,在数字中符号所占据的位置决定了其表示的值 所表示的值为 S表示一套符号集, b是底(或基数) 十进制(Decimal)系统 S=0,1,2,3,4,5,6,7,8,9 b=10 十进制整数 ,表示 如+224= + 2102 + 2101 + 4100 又如+242= + 2102 + 4101 + 2100 k位十进制正整数的最大值Nmax=10k1,位置化数字系统,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,十进制实数 十进制实数 ,表示 如24.13= 2101+4100+110-1+310-2 二进制(Binary)系统 S=0,1 b=2 二进制整数 ,表示 如(10011)2= 124+023+022+121+120 k位二进制正整数的最大值Nmax=2k1,整数部分,小数部分,位置化数字系统,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,二进制实数 二进制实数 ,表示 (100.11)2=122+021+020+12-1+32-2 十六进制(Hexadecimal)系统 S=0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F b=16 十六进制整数 ,表示 如(2AE6)16=2163+10162+14161+6160 k位十六进制正整数的最大值Nmax=16k1,整数部分,小数部分,位置化数字系统,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,八进制(Octal)系统 S=0,1,2,3,4,5,6,7 b=8 八进制整数 ,表示 (1256)8=183+282+581+680 k位八进制整数的最大值Nmax=8k1 十六进制实数与八进制实数并不常见,二进制向十进制的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,转换方法 将数码乘以它在源系统中的位置量并求和 示例: (11101.110011)2 124123122021120 121122125126 = 29.796875 典型二进制的十进制表示 20=1, 21=2, 22=4, 23=8, 24=16, 25=32, 26=64, 27=128, 28=256, 29=512, 210=1024, 211=2048 212=4096, 213=8192, 214=16384, 215=32768 216=65536, 220=1M, 230=1G, 240=1T (0.1)2=0.5, (0.01)2=0.25, (0.11)2=0.75 (0.001)2=0.125, (0.011)2=0.375, (0.101)2=0.625 (0.111)2=0.875,八进制和十六进制向十进制的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,转换方法 将数码乘以它在源系统中的位置量并求和 示例1: (1A.23)16 1161101602161 3162 = 16 10 0.125 0.01171875 26.137 示例2: (23.17)8 281380181 782 = 16 3 0.125 0.109375 19.234,十进制向二进制的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,转换方法 整数部分:循环除以基数并逆序取余 小数部分:循环乘以基数并顺序取整 示例1: (29)10 示例2: (0.625)10,29,14,7,3,1,0,1,0,1,1,1,余数,= (11101)2,0.625,0.25,0.50,0.00,1,0,1,整数部分,= (0.101)2,十进制向八进制的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,转换方法 整数部分:循环除以基数并逆序取余 小数部分:循环乘以基数并顺序取整 示例1: (126)10 示例2: (0.634)10,126,15,1,0,6,7,1,余数,= (176)8,0.634,0.072,0.576,0.608,5,0,4,整数部分, (0.5044)8,0.864,4,十进制向十六进制的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,转换方法 整数部分:循环除以基数并逆序取余 小数部分:循环乘以基数并顺序取整 示例1: (126)10 示例2: (0.634)10,126,7,0,E,7,余数,= (7E)16,0.634,0.144,0.304,0.864,A,2,4,整数部分, (0.A24D)16,0.824,D,课堂练习,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,将下列十进制数分别转换为二进制、八进制和十六进制 (124.02)10 (14.56)10 (12.13)10 (72.8)10 (1156)10 (567)10,二进制与十六进制间的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,原理:二进制中的4位恰好是十六进制中的1位 二进制向十六进制的转换方法 4位二进制成一组,将其转换成等量的1位十六进制 示例: (10011100010)2 十六进制向二进制的转换方法 将1位十六进制数转换成等量的4位二进制数 (24C)16,10011100010,0100 1110 0010,= (4E2)16,2,0010,0100,1100,10 0100 1100,= (1001001100)2,4,E,2,4,C,二进制与八进制间的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,原理:二进制中的3位恰好是八进制中的1位 二进制向八进制的转换方法 3位二进制成一组,将其转换成等量的1位八进制 示例: (101110010)2 八进制向二进制的转换方法 将1位八进制数转换成等量的3位二进制数 (246)8,101110010,101 110 010,= (562)8,2,010,100,110,10100110,= (10100110)2,5,6,2,4,6,十六进制与八进制间的转换,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,十六进制向八进制的转换方法 将十六进制转换为二进制 将二进制重排成3位一组,找到八进制的对等值 八进制向十六进制的转换方法 将八进制转换为二进制 将二进制重排成4位一组,找到十六进制的对等值,数码的数量,进制 位置化系统 进制转换 数值的表示 非数值表示 数值运算,把十进制数转换到其它进制前,需知道数码数量 计算方法: 示例:计算(234)10在各进制下需要的位数 十进制: 二进制: 八进制: 十六进制:,计算机中的数值表示,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,计算机中主要有2种不同的数值信息表示方法 定点表示法用于表示整数 浮点表示法用于表示实数 为了适应不同的使用要求,无论定点数还是浮点数,分别有若干种不同长度的表示:8位,16位,32位,64位,128位等,计算机中数值信息的主要类型,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,计算机中的数值,小数点固定隐含在个位数右面,小数点不固定,无符号表示法(原码),进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,将整数转换成二进制.如果其位数不足n位,则在二进制整数的左边补0,使它的总位数为n位 n个二进位可表示的无符号整数的范围: 02n1,溢出,溢出,溢出,溢出导致的灾难,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,阿丽亚娜5火箭,带符号整数的原码表示,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,表示方法:最高位表示符号,其余位表示数值部分 示例1: +43的8位原码 00101011 示例2: 43的8位原码 10101011 原码表示的性质 数值“0”有两种表示: 00000000和10000000 可表示的负整数与正整数的个数相同 n 个二进位可表示的数值范围:2n1+1 2n11,带符号整数的原码表示,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,表示范围:-7 +7,表示范围:-127 +127,带符号整数的补码表示,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,表示方法 正数的补码与原码相同 对于负数,先把绝对值表示为自然码 从右边复制二进制位,直到有1被复制,反转其余位 示例1: 42的8位补码 绝对值的原码: 00101010 位复制: 11010110 示例2: 64的8位补码 绝对值的原码: 01000000 位复制: 11000000,请问: 128的8位补码是什么?,补码表示的性质,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,“0”是惟一表示的 (用全0表示数值“0”) 不对称,负整数比正整数多1个 n位二进补码表示的整数范围: 2n1 2n11 假设带符号整数K的二进制补码为:Kn-1Kn-2 . K1K0, 则它对应的十进制值 S 为 示例1: 11000011 S = 128+64+2+1= 67 128 = 61 绝对值的原码: 00111101; 补码: 11000011 示例2: 10111111 S = 128+32+16+8+4+2+1 = 65 绝对值的原码: 01000001; 补码: 10111111 现代计算机中,带符号整数都使用补码表示,CPU直接对补码进行运算和处理!,带符号整数的原码和补码表示的比较,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,带符号整数的原码和补码表示的比较,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,不同长度的带符号整数的转换,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,将字长较短的带符号整数转换成较长的表示 转换规则: 将符号位向左扩充必需的位数,其余位不变 示例1: 8位正整数转换为16位表示 0010 1010 0000 0000 0010 1010 示例2: 8位负整数转换为16位表示 1010 1010 1111 1111 1010 1010 示例3: 8位正整数转换为32位表示 0010 101000000000000000000000000000101010 示例4: 8位正整数转换为32位表示 1010101011111111111111111111111110101010,实数(浮点数)在计算机中的表示方法,进制 数值的表示 数值信息类型 整数的原码 整数的补码 单精度浮点数 双精度浮点数 非数值表示 数值运算,特点 既有整数部分又有小数部分(整数和纯小数是实数的特例) 任何实数均可表示成一个乘幂
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号