资源简介 (共20张PPT)3.1数据编码(第二课时)框架完整·扁平化呈现·绝对专业·超级吸睛活动1 卡片组合游戏了解进制转换桌面上摆放着五张卡片,将卡片正面向上的点数用十进制数表示,从右往左依次是1,2,4,8,16.现在将其中的三张卡片翻过来,现在正面的点数为1+8=9,如果我们把正面卡片记为1,反面记为0,则十进制数9=二进制数01001PROJECT PEOFILE活动2 如何用五根蜡烛表示我的31岁生日?老师马上就要过31岁的生日了,于是自己去给自己定了一个生日蛋糕。买回来发现只有五根蜡烛,于是略显郁闷。但是,老师是一位计算机“高手”,立马想到了解决办法……PROJECT PEOFILE活动2 如何用五根蜡烛表示我的29岁生日?十进制数 转化为二进制数 二进制数31 16+8+4+2+1 11111在计算机中,我们用到的不仅仅是十进制。于是老师灵机一动,把自己生日的十进制数29转换为二进制数11111。假如蜡烛点燃为1,熄灭为0,那么老师手里有5根蜡烛,正好全部点燃,代表29岁。思考.我们已经初步了解了在计算机中进制的转换,但是用数数的方法略显麻烦。有没有类似数学中的公式计算的办法解决这一问题呢?知识点1:二进制与数据转换数据经过采样、量化、编码后,都以二进制数的形式存储在计算机中。二进制只有0和1两种数字符号,其特点是“逢二进一”,即1+1=10。计算机存储数据的最小单位是二进制位,用比特(bit)表示计算机存储数据的基本单位是字节(Byte)在二进制数中,每一个数字在不同的位置上具有不同的权值,各位上的权值是基数2的若干次幂。从右往左依次是0、1、2……知识点1:二进制与数据转换1.十进制转成二进制(除2取余倒记法)34201721820420220121除到0为止!取右边的余数,顺序是由下而上排列写。 即:(34)10=(00100010)2知识点1:二进制与数据转换2.二进制转成十进制(乘权累加法)以二进制数 1001010 为例:6 5 4 3 2 1 0运算公式:1×26+0×25+0×24+1×23+0×22+1×21+0×20乘权相加法结果为 74(1001010)2=(74)10练习一10110100(2)=( )(10)100(10)=( )(2)拓展.十六进制与十进制之间如何转换?在生活中,对于进制的使用有很多种,比如时间的进制为60,除了以上我们学习的几种进制外,十六进制的使用也很普遍。我国古代曾经在重量单位上使用过十六进制,即1斤=16两,所以才有“半斤八两”这一成语的由来。那么十六进制能否和其他进制进行转换呢?如何转换?知识点2:十六进制与十进制互换在十六进制中,除了阿拉伯数字0到9外,一般用字母A到F表示(10到15)。十六进制逢16进1。任意R进制数(R为>=2且不等于10的正整数)转化为十进制数时,都可以采用_________方法。十进制数据转换为R进制数时,都可以采用__________方法。练习二3D(16)=( )(10)255(10)=( )(16)E2(16)=( )(2)11100101(2)=( )(16)提示:十六进制和二进制的转换,可以先转换为十进制,再进行转换。上机练习在Python中,可使用函数bin(num),oct(num),hex(num),将十进制整数num分别转换为二、八、十六进制。>>> bin(29) #将十进制整数29转换为二进制'0b11101' #返回结果为字符串,前缀0b表示二进制>>> oct(29) #将十进制整数29转换为八进制'0o35' #返回结果为字符串,前缀0o表示八进制>>> hex(29) #将十进制整数29转换为十六进制'0x1d' #返回结果为字符串,前缀0x表示十六进制知识点3:文本数据的编码文本数据是用来表示一定意思的一系列字符,包括字母、数字、标点符号、汉字等。文本数据的编码通过对其中每一个字符进行编码实现。用于文本数据字符编码的方案有多种类型,其中ASCII码和Unicode码最为典型的两种编码方案。知识点3:文本数据的编码一、ASCII码ASCII码,美国信息交换标准码 用7位(标准ASCII码)或8位(扩展ASCII码)二进制表示一个字符。共128个字符。例如A的ASCII码为01000001,即65.知识点3:文本数据的编码知识点3:文本数据的编码思考:观察ASCII码,查看大写字母A和小写字母a差了多少?知识点3:文本数据的编码二、Unicode码ASCII码能够表示的字符有限,而用Unicode可以表示很多国家的常用字,如汉字。Unicode码有16位二进制数据构成。计算机要处理汉字,必须对汉字进行Uncode编码,显然每个汉字至少需要两个字节。例如汉字“男”的Unicode编码为30007(十进制)。>>>ord(‘男’) #显示汉字编码值>>>ord(‘1’) #显示数字编码值>>>ord(‘A’) #显示字母编码值>>>bin(65) #十进制65转二进制>>>chr(0b1000001) #编码值转字符知识点3:文本数据的编码汉字编码之国家标准:(1)GB 2312—1980字符集共收录6763个汉字(2)GBK字符集,兼容GB 2312—1980标准,收入21003个汉字(3)GB 18030—2000字符集,包含GBK字符集和CJK统一汉字扩充A的汉字,共计27533个汉字;(4)GB 18030—2005字符集,在GB 18030—2000的基础上,增加了CJK统一汉字扩充B的汉字及其他汉字, 共计70244个汉字。Unicode字符集,是全球可以共享的编码字符集,涵盖了世界上主要文字的字符,其中包括简繁体汉字,共计74686个汉字。在Python中,函数ord()返回的是字符的Unicode码值,函数chr()返回Unicode码对应的字符。课堂小结1.理解二进制的基本原理;2.掌握二进制、八进制、十六进制和十进制之间的相互转换;3.Python中数制之间的转换与运用。4.了解编码:ASCII编码和unicode码编码。 展开更多...... 收起↑ 资源预览