680 likes | 862 Views
数字化与 0 、 1 编码. 张基温 教授. 当今时代最流行的名词 —— 信息化. 信息化 = 数字化 + 网络化. 网络化:提供了一个 —— 虚拟宇宙 —— 虚拟时空。. 数字化:将现实中的事物变成虚拟宇宙中的事物 —— 数字。. 数字化的实质. 用有限个符号表示现实世界中的事物。 电子商务 符号经济学 ……. 人类使用过的符号体系. 各种数字系列 各种文字系列. 数字系列. 罗马数字 巴比论数字 阿拉伯 — 印度数字 中国数字. 罗马数字 (基于十进制的加权计数法). 罗马计数制使用的符号. 典型数值的罗马数字表示.
E N D
数字化与0、1编码 张基温 教授
当今时代最流行的名词——信息化 • 信息化=数字化+网络化 • 网络化:提供了一个——虚拟宇宙 ——虚拟时空。 • 数字化:将现实中的事物变成虚拟宇宙中的事物——数字。
数字化的实质 • 用有限个符号表示现实世界中的事物。 • 电子商务 • 符号经济学 • ……
人类使用过的符号体系 • 各种数字系列 • 各种文字系列
数字系列 • 罗马数字 • 巴比论数字 • 阿拉伯—印度数字 • 中国数字
罗马数字(基于十进制的加权计数法) 罗马计数制使用的符号 典型数值的罗马数字表示 32, 64, 128, 256, 512, 1024 的罗马数字依次是: XXXII LXIV CXXVIII CCLVI DXII MXXIV
古巴比论计数法——十进/六十进制 计数符号: 没有零。同一個符號 说明: 没有零 可以代表1或60。例如: 代表:2×60=120。 代表:2×603+3×602+41=402841
阿拉伯—印度数字 • 西阿拉伯: • 東阿拉伯:
中国数字 • 汉字数字符号 • 算筹数字符号 • 八卦数字符号
汉字数字 • 一、二、三、四、五、六、七、八、九、十、百、千、万、亿、兆、京 • 壹、贰、叁、肆、伍、陸、柒、捌、玖、拾、佰、仟、万、亿、兆、京 • 十 进:十十为百,十百为千,十千为万,十万为亿,十亿为兆,十兆为京……。 即10×10=百,10×100=千,10×1000=萬,10×10000=億,10×100000=兆 • 万万(亿)进:万万为亿,亿亿为兆,亿兆为京……。 即10000×10000=億,10000×10000×100002=兆,10000×10000×100004=京……。 • 自乘进位:万万为亿,亿亿为兆,兆兆为京……。 • 即100002=億,(100002)2=兆,﹝(100002)2﹞2=京…
算筹计数符号(五升十进制) 5428 32591 60837924 2356 + 4789 = 7145
八卦计数法 北宋哲学家邵雍说:“一变而二,二变而四,三变而八,四变而十有六,五变而三十有二,六变而六十有四”。 即: 使用1个符号,有2种组合(—和--),即两仪; 使用2个符号,有4种组合(——、—--、),即四象; 使用3个符号,有8种组合,即八卦; 使用4个符号,有16种组合; 使用5个符号,只有32种组合; 使用6个符号,只有64种组合……。即邵雍64卦图。
Leibniz的二进制 • 八卦图大约在1658年以前就传到了欧洲。 • 1658年出版的卫匡国的《中国上古史》,1660年出版的斯比塞尔的《中国文史评析》中都有相关的记载和介绍。 • 1679年3月15日,莱布尼茨题为“二进位算术”的论文,对二进位制进行了相当充分的讨论,并与十进位制进行了充分的比较。
基于二进制的现代计算机 • 1945年3月Neumann和他的小组提出了电子数字计算机应当采用二进制工作方式 。 • 在电气技术条件下,使用二进制有如下好处: • (1)制作方便。 • (2)经济。 • (3)运算规则简单 。 • (4)存储方便
二进制运算规则 • ① 加法规则:“逢2进1” • 0 + 0 = 0 1 + 0 = 0 + 1 = 1 1 + 1 = 10 • ② 减法规则:“借1当2” • 0 – 0 = 0 1 – 0 = 1 1 – 1 = 0 10 – 1 = 1 • ③ 乘法规则 • 0 × 0 = 0 1 × 0 = 0 × 1 = 0 1 × 1 = 1
二进制位 • 二进制的一个位称为一个“二进制数字”(binary digit),简称比特bit,简写为b。 • 用1个比特(也可写成1bit或1b)可以表示两种事物或状态; • 用2个比特可以表示4种事物或状态; • 用3个比特可以表示8种事物或状态; • ……
课堂练习 • 1. 如何对下面的问题进行0、1编码? • (1)每周7天; • (2)每年12个月; • (3)一月中的每天; • (4)全班每个同学; • (5)26个英文字母; • (6)居民身份证。
字长和字节 • 通常,计算机(CPU)都是按一种规格进行信息处理的。这种规格中所规定的 0、1编码的位数(比特数)称为该计算机(CPU)的字长。例如,目前多数个人计算机字长为32b,并正在向64b过渡。 • 在存储器中,信息不是按照计算机的字长存储的,而是统一使用8b为一个存储单元。也把8b称为一个字节(Byte,或缩写为B)。
奇偶校验——0、1码的错误检测 • 对于传输差错的基本应对策略有3个: • 一是提高元器件的质量; • 二是采用一定的技术检测出错误; • 三是采取一些技术措施改正错误或重新传输。 • 其中与编码有关的是检测错误。最简单的是奇偶校验(odd-even check)。 • 奇偶校验就是在要传输的数据之外再增加一位,使实际传输的数据中的1的个数总保持奇数或偶数。所增加的位称为冗余位。
课堂讨论 • 1. 能不使用冗余码就检测出传输错误吗?
2.2 数值数据的0、1编码 • 1. 二进制的基本概念 • 2. 十进制数与二进制数之间的转换 • 3. 十六进制编码 • 4. 符号的0、1编码 • 5. 实数的0、1编码
二进制的基本概念 • 十进制特点: • (1)采用0,1,2,3,4,5,6,7,8,9十个符号表示数; • (2) “逢十进一” ; • (3)十进制数从小数点往左,分别为十位、百位、千位 ……,从小数点向右,分别位十分位、百分位、千分位 ……。 • 一个数字m,在某一个位置i上时,其值为mⅹ10^i。10^i称为i位权。
二进制的基本概念 • 二进制特点: • (1)只能用两个符号表示数 ; • (2)“逢二进一” ; • (3)二进制数从小数点往左,各位的位权分别为20、21、22…,即1、2、4、8、16、32、64、128、256、512、1024、2048等等; • 小数点往右各位的位权分别为2-1、2-2…,即0.5、0.25 、0.125、0.0625、0.03125等。
课堂练习 • 1. 强记常用二进制的位权值。
二—十 (B→D) 进制转换 • 规则:将1所在的位上的位权值相加。
整数十—二转换 • 规则:从足够的位权值开始,连续减去各个位权值:够则减该位取1,不够则不减该位取0;直到减完最后一个位权值1。 • 例 158D= ?B • 解:考虑158在128与256之间,则先减128,该位取1,差为30;减64,不足,该位取0;再减32,不足,取0;再减16,够减,取1,差为14;减8。够减取1,差为6;减4,够取1,差为2;减2,够取1,差为0;减1,不够取0,结束。
小数十—二进制转换 • 规则:从小数点开始,连续减各小数位的位权值,够则减该位取1,不够则不减该位取0,直到减为0或到要求的位数。 • 0.24D= ?B,到小数点后4位。
十六进制编码 • 十六进制记数符为:0,1,2,3,4,5,6,7,8,9,A(a),B(b),C(c),D(d),E(e),F(f) 。 • 将二进制数由小数点起,向两侧分别以每4位划一组(最高位与最低位不足4位以0补)。每一组便为一个十六进制数。
符号的0、1编码 • 一般用数的最高有效位(Most Significant Bit,MSB)表示数的正负。 • MSB=0 表示正数,如+1011表示为01011; • MSB=1 表示负数,如-1011表示为11011。 • 没有符号位的数,称为无符号数。 • 同样字长,无符号数的最大值比有符号数要大1倍。
实数的0、1编码 • 实数就是带小数点的数,可以表示成指数形式。 • 一个任意二进制数N可以表示为 : • N=2E×M • E为数N的阶码;M为数N的有效数字,称为尾数。
浮点数的机内表示 • 其中,Ef,S分别称为阶码E和尾数M的符号位,它们一般占1b。 • 使用这种格式的关键是规定好总的字长和每部分的长度。
课堂练习 • 1. 什么叫浮点数?
2.3 西文字符的0、1编码 • 1. ASCII码 • 2. 字符的输出
ASCII码 • 西文中最基本、应用最多的字符共计87 个。 • 87位于64—128之间,需要7b的长度,再用最高位b7作为奇偶校验位,正好是一个字节。 • 1967年美国国家标准学会(American National Standards Institute,ANSI)提出一套编码方案作为数据传输的标准码,称为美国信息交换标准码(America Standard Codefor for Information Interchange,ASCII)。
字符的输出 • 不同字体的字符都是一个图形。 • 存储这个图形的方法是在一个栅格中用方块组成的点阵画出一个字符的图形——称为字模。
课堂作业 • 1. 试画出16×16点阵组成的字符“A”。 • 2. 在ASCII表中,哪个值大? • (1)大写字母和小写字母。 • (2)数字和字母。
2.4 汉字的0、1编码 • 1. 几种常用的汉字编码方案 • 2. 汉字的输入——汉字外码 • 3. 汉字的字模 • 4. 汉字系统的工作过程
几种常用的汉字编码方案 • (1)GB2312-1980和GB2312-1990 • (2)BIG5编 • (3)GBK编码 • (4)Unicode编码(Universal Multiple Octet Coded Character Set) • (5)GB 18030-2000 • 以上几种编码都是机内码。
汉字的输入——汉字外码 • 常见的输入法 : • (1)按汉字的排列顺序形成的编码(流水码):如区位码; • (2)按汉字的读音形成的编码(音码):如全拼、简拼、双拼等; • (3)按汉字的字形形成的编码(形码):如五笔字型、郑码等; • (4)按汉字的音、形结合形成的编码(音形码):如自然码、智能ABC。
汉字的字模 • 汉字字模的原理与西文字符的字模基本相同 。 • 不同的字体,字模库布相同
课堂讨论 • 1. 为什么汉字要有输入码(外码)、机内码和字库?与西文有何不同? • 2. 现在执行的强制性国家汉字编码标准是什么?