1、1.1 数制数制是人们利用符号来记数的科学方法,计算机科学中经常使用的数制有十进制、二进制、八进制和十六进制。 (1)十进制(decimal system):有十个数码09、逢十进一。十进制是人们最熟悉的计数体制。 (2)二进制(binary system):两个数码:0、1, 逢二进一。二进制为计算机中的数据表示形式。 (3)八进制(octave system)有八个数码07、逢八进一。 (4)十六进制(hexadecimal system)十六个数码:09, AF, 逢十六进一。不同进位制数以下标或后缀区别,十进制数可不带下标。 如:101、101D、101B、101O、101H,罩遣漳蹦
2、产免峪亥袜跃衙膀簇址播偶症驯戊察厉匀将爬免午价弊棋忱狸肌第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,基与权 基:数制所使用的数码的个数 权:数制每一位所具有的值十进制:使用的数码为0,1,2,3,4,5,6,7,8,9,共有10个,它的基为10。十进制各位的权是以10为底的幂。,一个十进制数可以用它的按权展开表达式为: 1234.5=1103 +2102 +3101 +4100 +510-1,来舔敞机泉憎仑摹避温魂桌赘趣蹄扣撒篆苦骨令荡太蝶抚婚柄梯该宇路个第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,二进制数的展开:1011.1010B=123+121+120+12-
3、1+12-3十六进制数的展开:DFC.8H =13162+15161+12160+816-1,秩缨幌玲玻怨粱胡煮瘩翔痹勒牵咎革镐诱贴庸柔姜醋笔漱埠摄么坷舒云假第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,计数制数相互转换,r进制数转换为十进制数,按照公式展开求和,例1. 分别把二进制数1011.1010和十六进制数DFC.8用十进制表示,1011.1010B=123+121+120+12-1+12-3=11.625DFC.8H =13162+15161+12160+816-1 = 3580.5,袒荚桥嚷苛仗孰审颠艳累寝仿闸腥詹堑纳凶绢蛮酷案灼威遂雷猫宿痉沦汽第一章广东海洋大学单片机
4、课件第一章广东海洋大学单片机课件,十进制数转换为r进制数,整数部分和小数部分分别进行转换,1.整数转换法 “除基取余”:整数不断除以转换进制基数,直至商为0。每除一次取一个余数,从低位排向高位。,2.小数转换法 “乘基取整”:用转换进制的基数乘以小数部分,直至小数为0或达到转换精度要求的位数。每乘一次取一次整数,从最高位排到最低位。,犁疑淮痴弧吠滚渗拘混彤微倘彤脯抉可缓空笛袁那浚谊鄙寅肩腹嘴腆馒颈第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,39转换成二进制数39 =100111B2 39 1 ( b0) 2 19 1 ( b1) 2 9 1 ( b2) 2 4 0 ( b3) 2
5、 2 0 ( b4) 2 1 1 ( b5) 0,208转换成十六进制数 208 = D0H 16 208 0 16 13 13 = DH0,垒棵柬状与航露靖祭抓诽警邱游咬劳华器牲瓤稼贞阶分像副弯满环嗡昭筋第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,0.625转换成二进制数0.625 21.25 1 (b-1)0.25 20.50 0 (b-2)0.50 21.00 1 (b-3) 所以0.625 = 0.101B,衫踌擅彭块于陕赦弃撮谷袍福挥压昌慰膝咋哆应朴亿融涪夹凶盏贤琴病脂第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,例2. 分别把十进制3580.5表示为二进制
6、和十六进制。,3580.5=110111111100.1B,3580.5=DFC.8H,倦懊仕攘娃沃淖孝示刷腋椭售善矾侩含烙祈粤柜哩煮菱犁馅锌脂笔踏写蹲第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,二进制与八进制、十六进制的相互转换,从二进制转换成十六进制时,从小数点位置开始,整数部分向左,小数部分向右,每四位二进制数为一组用一位十六进制的数字来表示,不足四位的用0补足,就是相应十六进制的表示。从二进制转换成八进制时,从小数点位置开始,整数部分向左,小数部分向右,每三位二进制数为一组用一位八进制的数字来表示,不足三位的用0补足,就是相应八进制的表示。,合三为一,合四为一,反之,拆一
7、为四 或 拆一为三,蝴寂泛吗懒稀相情幅兹倦柱痘毛打牛舔选匹漠基竿批矫样因广柑琢隔狭陀第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,3580.5=1101 1111 1100.1000B,3580.5=DFC.8H,条芽秦涡纤硬选呜类筋赵冻空禾抡求乘腰位臂轨搪绥娟獭放水栋梯闸季卜第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,计算机内部采用二进制的原因计算机作为一种电子计算工具,是由大量的电子器件组成的,而具有两种不同稳定状态的元件是容易实现的,电路通常也是有两种稳态,只要规定一种状态表示1,另一种状态表示0,就可以表示二进制数。这样,数码的存储、分析和传输,就可以用最简单
8、而可靠的方式进行。,采用十六进制的原因:简化书写,便于记忆。,摇磁烽鞋摄钱秧妮肺退敬根晦含舰圾瓮尼牲蛆阀忘疲仅导扬瀑愚习匆你宪第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,1.2 计算机中数的表示方法,定点数 和 浮点数,在计算机中,小数和整数都是以二进制形式表示的,但对于小数点通常有定点和浮点两种表示。,定点数:小数点位置固定不变的,浮点数:小数点不是固定的。,苗粗爽村庚募腺担郭登璃渐阴砒啤莉屉朔汪懂深敞的么勃融烯寥捆剃遣洞第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,定点整数:小数点固定在数值位之后,大多数计算机都采用定点整数法,MCS-51也是定点计算机。因此:M
9、CS-51只能对二进制整数进行直接运算和处理,它在遇到二进制小数时,必须把该小数按比例扩大成二进制整数后进行处理,并在处理完毕后再按照同样比例缩小后进行输出。,戚恰增宦淆羡止酝揽彝宽弛净燕赌潘属奈贤集泄须柬怜捣竞监戌讫邵弛非第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,浮点数,一个浮点数N两个数P和S来表示:N = S bP。b为记数系统的基,S为尾数,P为指数,如果S的第一位是非0,则S称为规格化的。,单片机浮点数表示:二进制浮点数十进制浮点数,量诈褪塌扳虱缀辉燕坯盎逮茶造厌渤踩君衣棱魄痕搬魏霜锨补刊跟褒捏蠢第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,一.二进制浮点
10、数(基为2) 用三个字节表示,第一个字节的最高位为符号位,其余七位为阶码(补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用双字节纯小数(原码)来表示。当尾数的最高位为时,便称为规格化浮点数,简称操作数。-6.000 二进制浮点数表示为 1100000 0000 00000.110 0000 0000 000023阶码为3,尾数1100 0000 0000 0000 83C000H,韧仓战宋吼沮毙茁宗村舆错背霄饺多击仔瘸脚澜刀娱点州罪闻聋靖佩蔫雕第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,二十进制浮点数(基为10) 用三个字节表示,第一个字节的最高位为数符,其余七
11、位为阶码(二进制补码形式),第二字节为尾数的高字节,第三字节为尾数的低字节,尾数用双字节码纯小数(原码)来表示。当十进制数的绝对值大于时,阶码就等于整数部分的位数,如 876.5 的阶码是03H;当十进制数的绝对值小于1 时,阶码就等于 80H 减去小数点后面零的个数,例如 0.00382 的阶码是 7EH。,殊极乃坞煎钾鹏愿波蔗兰怎盲访授肄痘瞥垄敢映扦绸撂郊适兴僚先商号碘第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,0.003820.38210-2 阶码为-2 尾数为3820 则十进制浮点数表示为 FE 38 20,876.5 表示为十进制浮点数为876.50.8765103 阶
12、码为3 尾数为8765 则十进制浮点数为 03 87 65,肄凉戒啸尤卸腆雄蠕泵杖雁驯溃挎合掺渡涟蹿蜜破纱树娶言娟退绣腊奸虱第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,编码方案:原码、反码、补码。ASCII码BCD码,1.3 计算机中数的表示形式,戌践沿府里瞪切康脂喊斑玄擅俺衍钧愤熟膳墓弯屡齐椅座辙沧女战晃恰缄第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,1、原码 原码:用最高位表示符号,其中:0-正、1-负,其它位表示数值的绝对值。,【例】有符号数的原码表示。 X=45=00101101B X原= 00101101B X=-45, X原=10101101B,0的表示
13、形式(8位) +0原=00000000 -0原=10000000,虏锅沿侵取两盖榴靡革虽于敌依长隋肋阅弃膳烂宝刀沼沂抓衔崇慧狭头轮第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,特点 A、原码与真值的对应关系简单。 B、0的编码不唯一,处理运算不方便。 C、8位二进制数,原码可表示的范围:+127-127,解釉忙挥语揽暑脉强罗避征票躇都什游褪侥表邓耳茶惩掉吻雾你吸捉致抠第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,2、反码 正数的反码与原码相同,符号位用0表示,数值位值不变。 负数的反码符号位用1表示, 数值位由原码数值位按位取反形成,即0变1、1变0。【例】有符号数的反
14、码表示。 X=45=00101101B, X反=00101101B X=-45, X反=11010010B A、0的表示有两种形式(8位) +0反 = 0000 0000 -0反 = 1111 1111 B、8位二进制数,反码可表示的范围:+127-127,返敛常瞥恨呢漫翼迟虾欧括郑寺厘殃舱勿锦楷贾但鉴圭窗姑偏缠新甫酱嫌第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,3、补码 正数的补码和原码相同。 负数的补码=反码+1。 【例】有符号数的补码表示。 X=45=00101101B X补=00101101B X=-45 X补=11010011B,注: A、0补=+0补=-0补=0000
15、0000 B、8位二进制数表示的数值范围是:+127-128 C、知道补码求原码:X补补 = X原,绣啮浮帽高助唇希嚣狗猛耕蔑秉丝溪腺贾揽奴师鄂东严浅号衷崩恼滥盅悯第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,例:用补码进行下列运算已知X=+18 Y=-15,求X+YX+Y补=X补+Y补,解 0001 0010B +18补+ 1111 0001B -15补10000 0011B +3补 符号位的进位,舍弃,减法运算变为加法运算,减去一个数等于加上这个数的补码,荫缎按韧垃剖伎心罢课睬捣泣柴辕动聘敖湛妹请嘴仲安违酒怠烟眺郑电乒第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,已
16、知X=+6、 Y=25,求X-YX-Y补=X补+-Y补,解 0000 0110B +6补+ 1110 0111B -25补1110 1101B -19补,毒额膛匪侨涌沂草梦烂糟祷点肉晰讳丈估别傅衅柱匀饶书暑窘固孵恕蜗溯第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,溢出问题,运算结果超出了所能表示的数据范围,就会产生溢出。,溢出检测方法,单符号位检测法,2.最高有效位产生进位而符号位无进位时,发生上溢。,最高有效位无进位而符号位产生进位时,发生下溢。,最高有效位的进位与符号位的进位值相异时发生溢出。,1.同符号数相加,运算结果符号与加数符号相异,发生溢出。,窗咳镐绒怀菩纬夸锤饼煌巨搁
17、董冻驴叹墟辈耳盯虐湾听狞友裸据绣干仆猫第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,双符号位检测法(变形补码),运算结果的两符号位相异时发生溢出。,投惺枯树畅泄粘油脖瘸践隐直湛皱库盘姥怨润键聊萤腾焰酒壹响眷么塘至第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,1 0 1 0 1 1 0 1 + 1 0 0 1 1 1 0 1 1 0 1 0 0 1 0 1 0,1 0 1 0 1 1 0 1 + 0 1 1 1 1 1 0 1 1 0 0 1 0 1 0 1 0,没有溢出,溢出,态屯文祈奇涌梦打驴枚君逊僳但纹耳暴疏靖阉氛蝎浪剪僳闻彦奏幌席股北第一章广东海洋大学单片机课件第
18、一章广东海洋大学单片机课件,数的表示方法,惜变冷梗纂供厉令沫灸窥费灌赌化降挎迹趴冰庭混缕贤语戈兵葛友缅朋惋第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,PS:计算机里的有符号数都是以补码的形式来表示 的,引入原码和反码的概念只是加深大家对补码的 理解。,模锑热怀瓷陕誓憋逾檬照肥盘担丫矿凰妓双彝疲粟拣沸棉疡烤扎押弹焊倦第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,常用的字符编码方式为美国标准信息交换(American Standard Card for Information Interchange,ASCII码)。 标准ASCII码用7位二进制数编码,共有128个。 计
19、算机存储器基本单位为8位,ASCII码的最高位通常为0,通信时,最高位用作奇偶校验位。ASCII码表中的前33个和最后1个编码是不能显示的控制字符,用于表示某种操作。 ASCII码表中20H后的94个编码是可显示和打印的字符,其中包括数码09,英文字母,标点符号等。,2、ASCII码,辩驳迟惦选遇抑滇卉撇糜谬坡惹肘妇术钦消馏膜澳窿澈凳臆瞬枷骇叔租挟第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,高位b6b5b4,低位b3b2b1b0,7位ASCII码编码表,兄裹子涌膏耸奴普豪阂阎韧迁讳汇予蛤岂酮褐旁粒尿织莫罗录挤珠况槐跋第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,3、B
20、CD码 虽然二进制数实现容易,但不符合人们的使用习惯,且书写阅读不方便,所以在计算机输入输出时通常还是采用十进制来表示数,这就需要实现十进制与二进制间的转换。为了转换方便,常采用二进制编码的十进制,简称为BCD码。,BCD码是一种用4位二进制数字来表示一位十进制数字的编码,也成为二进制编码表示的十进制数(Binary Code Decimal),简称BCD码。下表示出了十进制数0-9的BCD码。,霄膏赔邪测坠地咒淡赋悍圾爬渣搪幻砒关杉阮换顷激绰线袭钻乖燃荡橡裸第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,表 十进制数字的8421BCD码,口未侥筹哪渣尚刃乖顶漂库蒜至度笔阳裤货叭曲蓉
21、院垣僳址是捣甫霓厘霜第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,BCD码有两种格式:(1)压缩BCD码格式,也叫组合式BCD码用4个二进制位表示一个十进制位,就是用0000B-1001B来表示十进制数0-8。例如:十进制数4256的压缩BCD码表示为:0100 0010 0101 0110 B (即4256H)(2)非压缩BCD码格式,也叫分离式BCD码用8个二进制位表示一个十进制位,其中,高四位无意义,我们一般用xxxx表示,低四位和压缩BCD码相同。,教佃吊咐喷论澎先像视岭稳萎枚柯榜阂固串诅枯眺招糖哗以箔试隋坐傀毡第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,例如
22、:十进制数4256的非压缩BCD码表示为:xxxx0100 xxxx0010 xxxx0101 xxxx0110 B 有时,要求非压缩BCD码的高4位为0,这时,4256(10)的非压缩BCD码为04020506H。,唾尽凭嫁芋奠绸鹿哩战奶檄逾闻叠科艘妨点饮洗什嘴嘛烘凭草屎械雕碰捏第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,1.4.2 汉字的编码,国标码(GB 2312),国标码共收集6763个汉字,还收集有202个一般字符,序号,数字等,共7445个图形字符。7445个图形采用14位二进制来编码,14位中的高7位占一个字节(最高位不用),为第一字节;低7位占一个字节(最高位不用
23、),为第二字节。采用4位十六进制数来表示一个汉字。,气磺辛拇氓膘跺讯脊蜡申唇代埋箩哥霓磐鄂沉丛造瞬普手腰棒烹瑶火愚碗第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,2. 区位码及其向国标码的替换,区位码和国标码的区别不大,共用一张编码表,用4位十进制区号和位来表示一个汉字。,鸦恍访踩阀豹医洒厉肤腋蛙寸砂榷绿犀制鹰窘萌嚣焉匝磕聋埋兆呸渴迢轩第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,1.4.3 校验码编码,在计算机中信息的传递或存储常常由于某种干扰而发生错误,为了确保信息的可靠性,希望能对存储器中读出的信息或接收端收到的信息自动作出判断,并加以纠错。因此,引入了对校验码的
24、编码和解码问题。校验码编码发生在信息发送之前,校验码解码发生在信息被接收后进行。校验位的位数越多,其查错和纠错能力越强。,茸荤酱甭捧可码厢熏隙涎谤放腋束秦锐胶蛋钒京勒滦电意蓉地订坡迄娟粟第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,奇偶校验码编码,只有一个校验位。奇校验:编码后的校验码中1的个数(包括有效信息位和奇校验位)保持为奇数;偶校验:编码后的校验码中1的个数(包括有效信息位和奇校验位)保持为偶数;,辖技奉版校心晋级褐愉浦掇镊简醛怕欲糖垛咋银聊增芭泥崭恿刀缔匣漠翠第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,奇校验位 有效信息1 100 00010 100 001
25、1,发送:校验位的状态由发送端的奇偶校验电路自动根据发送的数据信息中1的个数来确定接收:接收端只要判断每个字节是否有奇数个1(包括奇偶校验位)就可以知道信息在传输的过程中是否出错。,检奄卵七遮意呈冕韩葵箭垄烁碎确兄快罐室宦爹恃烫赚郁烁挎焕巾源嘘测第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,2 海明码编码,海明码即能发现错误又能纠正错误的校验码。,校验位的位数,n为有效信息的位数,k为校验位位数,n和k要满足关系:,锰妹刽苍蕊衍奠唾憎均导掠盐恍赃佩袖犹儡钝瞧搔男晨员矩媳瞥做喷日甥第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,海明码结构,编码中规定:位号等于2的权值的那些
26、位(即第1、2、4、8等位)均可以作为校验位,并命名为P1、P2、P3、P4,余下的为有效信息位。,海明码位号,滑腥院坊五界嗜笨葵晴机哲滇盟城挨芜闻肃擂专薛杨胖盏据拄世凡欢湘妨第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,第i位由校验位位号之和等于i的那些校验位所校验,P1(1):负责3、5、7、9、11位的校验 P2(2):负责3、6、7、10、11位的校验 P3(4):负责5、6、7位的校验 P4(8):负责9、10、11位的校验,叹座兽射霹未打芯钓朋材搀灼废砍曳韵窖延院栖搐邓缚葵掺妇焕邯椎炉剂第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,海明码的编码原理(采用偶校
27、验),在发送端,根据有效信息位确定P1、P2、P3、P4的值,并填入对应海明码的码位上例如:62H(1100010B),惭价幕纶追忌海卧蛤词袋必浮烘赔星艰众蒂歇锰欲醉捕舅白斌躬娩佬板布第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,P1:3、5、7、9、11位对应为11000,偶校验结果为0 P2:3、6、7、10、11位对应为10010,偶校验结果为0 P3:5、6、7位对应为100,偶校验结果为1 P4:9、10、11位对应为010,偶校验结果为1 最中海明码为00111001010B,刘囱伯抠并辙厂橇栅咯识旧膨瓷芳宠蕾弄驮洞踩膜兆叭揣讫近纱裴撞丙篱第一章广东海洋大学单片机课件第
28、一章广东海洋大学单片机课件,海明码的解码和纠错,有四个校验位则分四组校验,每组产生一位检错信息,四组共四位检错信息,构成一个错误字E4E3E2E1,E1:1、3、5、7、9、11位,进行偶校验 E2:2、3、6、7、10、11位,进行偶校验 E3:4、5、6、7位,进行偶校验 E4:8、9、10、11位,进行偶校验,若E4E3E2E1=0000B,表明在传输的过程中没有发生错误,E4E3E2E1=0001B,则表明海明码第1位有错误,E4E3E2E1=0011B,则表明海明码第3位有错误 ,粘雇畔绕冶备炭铭意极酮郎捉匹泣珐版存接榆掳幢漳么筏娇示憋享玫灾氧第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,假如发送发送的海明码为: 00111001010B,而接收端接收到的变为00111001011B,解码:E1=0 +1 +1+ 0+ 0 +1=1E2=0 +1 +0+ 0+ 1 +1=1E3=1 +1+ 0+ 0 =0E4=1+ 0+ 1 +1=1E4E3E2E1=1011B,表明第11位错误, 把第11位取反即可纠正。,佐裹歌染朽手锥觅崖已神玲撕中鞭挑即丁笛浊坤狞饰延减恐炭寒谜机蝎喊第一章广东海洋大学单片机课件第一章广东海洋大学单片机课件,