汇编程序1-3数制及其转换

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1西安电子科技大学冯育长基础知识(补充内容)引言一.计算机中的数制二.数制间的相互转换三.补码的定义及其应用四.关于计算机中的数据运算五.字符编码2引言日常生活中,我们习惯十进制计数法。但计算机内部的一个基本工作单元只有两种工作状态:“导通”和“截止”,通常把这两个状态记为0和1这正是使用二进制数的目的建议大家不断体会种联想效果,有意识的培养这种联想思维方式,一定能学好微机原理。在学习微机原理的过程中,会大量使用二进制数。使用二进制数正好体现硬件的工作过程,使数字与硬件一一对应,或者说软件与硬件一一对应看见软件便可联想起硬件3Decimal,Binary,Hexadecimal但,一味的把数写成二进制又不符合人类的书写习惯如,二进制代码00010010001101000101由于代码太长,写起来麻烦,而且容易出错。所以,在计算机中引入了多种计数法,常见的数制有:本节要求:掌握十进制、二进制、十六进制数及数制间的转换方法掌握补码与真值之间的转换方法掌握数据的运算方法(补码加法,补码减法)了解字符编码4数制的基本要素任何一种数制都有三个基本要素:基数权按权展开我们从这三个要素入手复习数制的知识点Decimal,Binary,Hexadecimal一.计算机中的数制51﹑十进制记数法(Decimal)1基数:2权:3按权展开:个位百位千位十位110只有十个计数符号:0,1,2…9无论多大的数,都是这10个符号的组合。101001000100101102103例如,十进制数3058D可用上面的法则来表示:3058D=3×103+0×102+5×101+8×100任何一个数值,都是各位数字本身的值与其权之积的总和62﹑二进制记数法(Binary)1基数:2权:3按权展开:12只有两个计数符号0,12482021222316326412827242526Bint7Bint0例如,二进制数0101B可以表示为请牢记各位的权0101B=0×23+1×22+0×21+1×20=57~~~1001B=()D1001B=9=1×23+0×22+0×21+1×20=23+20=8+1=92021222324252627课堂练习1:把二进制数转换成十进制8~~~1111B=()D1111B=15=1×23+1×22+1×21+1×20=8+4+2+1=15简化算法:1111B=1×24-1=16-1=15=10000B-12021222324252627课堂练习2:把二进制数转换成十进制9~~~课堂练习3:把二进制数转换成十进制11111111B=()D简化算法:11111111B=1×28-1=256-1=255=100000000B-1255202122232425262710~~~课堂练习4:填表01234567891011121314154位二进制代码,有24=16个编码表示无符号数16个0~1511~~~二进制十进制00001111000100000111111110000000111111111111111015161271282552548位二进制代码,有28=256个编码表示无符号数256个0~255课堂练习5:填表123﹑十六进制记数法(Hexadecimal)1基数:2权:3按权展开:16用0,1,2,…,9,A,B,C,D,E,F这16个符号的组合来表示数160161162163例如,十六进制数2AH可以表示为2AH=2×161+10×160=42D13十进制(D)二进制(B)八进制(O)十六进制(H)000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F几种不同的进制数的基本符号及对照表注意:1.引入十六进制数仅仅是为了书写方便。2.在此,A、B、C、D、E、F是数字而不是字母。逢16进114二.数制的转换1.十进制整数→二进制整数2.十进制小数→二进制小数3.二进制数→十进制数4.十六进制数→十进制数5.二进制数→十六进制数6.十六进制数→二进制数15二.数制的转换1.十进制整数→二进制整数除2取余,余数倒排【例】将十进制数253转换成二进制数转换结果:253D=11111101B十进制数余数25321261263023111512712312112011012171111转换结果的最高位转换结果的最低位162.十进制小数→二进制小数乘2取整,整数顺排转换结果:0.375D=0.011B1.十进制整数→二进制整数除2取余,余数倒排【例】将十进制数0.375转换成二进制小数.0.37520.75021.521.017乘2取整,取数顺排1.十进制整数→二进制整数除2取余,余数倒排【例】将十进制数49.375转换成二进制数2.十进制小数→二进制小数249224----1212----026----023----021----10----10.37520.75021.521.0整数部分小数部分49.58=110001.011B18101.01B=(?)D101.01B=1×22+0×21+1×20+0×2-1+1×2-2=22+20+2-2=4+1+0.25=5.255.253.二进制数→十进制数按权展开20212223242526272-12-22-3.194.十六进制数→十进制数按权展开3.二进制数→十进制数按权展开ABC.DEH=(?)DABC.DEH=10×162+11×161+12×160+13×16-1+14×16-2=2560+176+12+0.81+0.05=2748.862748.8616016116216316-116-2.205.二进制数→十六进制数(101111100110.11011)2=()16.BE6D8从小数点起二进制数4位一组,变为十六进制数四合一【方法】将给定的二进制数以小数点为界,分别向左、向右每4位分成一组,若不足4位,要分别前补0(整数部分)或后补0(小数部分)。然后将每4位一组的数分别用对应的十六进制数来书写。216.十六进制数→二进制数以小数点为界,1位十六进制数对应4位二进制数四合一5.二进制数→十六进制数(A7B8.C9)16=()2101001111011100011001001.【方法】将每一位十六进制数用对应的4位二进制数来表示,其最左侧和最右侧的0可以省去。一分为四22小结:数制之间的转换1.十进制整数→二进制整数2.十进制小数→二进制小数3.二进制数→十进制数4.十六进制数→十进制数5.二进制数→十六进制数6.十六进制数→二进制数除2取余,余数倒排乘2取整,整数顺排按权展开按权展开四合一,注意补0一分为四23[X]补=X0≤x<2n-12n-|X|-2n-1≤x<0其中:n为二进制的位数三.补码的定义及其应用计算机中,带符号的数,要用补码表示采用补码便于加减运算,简化了ALU的计算过程我们不从数学定义上讨论补码,仅介绍求补码的几种实用方法241.正数求补码的方法2.负数求补码的方法3.由补码求真值三.补码的定义及其应用只讲下列3个问题25已知:a=+9,写出a的8位补码(n=8)。①先把+9成n位二进制真值②正数的码型不变00010010符号位0表示正[a]补例1:1.正数求补码的方法0001001+为了书写方便,往往把补码数写成十六进制形式:[a]补=09H解26已知:b=-2,写出b的8位补码(n=8)。①先把-2成8位二进制真值0000010-②连同符号位一起按位取反,然后再加111111101符号位1表示负[b]补例2:2.负数求补码的方法习惯把补码数写成十六进制形式:[b]补=FEH解27已知:[c]补=05H,求c=?①先把补码写成二进制形式00001010②正数的码型不变0000101+c=例3:3.由补码求真值符号位为0,正数人为的把符号位写成+习惯写成十六进制形式:C=05H解28已知:[d]补=FEH,求d=?①先把补码写成二进制形式11111101②连同符号位一起按位取反,然后再加10000010-人为的把符号位写成-d=例4:由补码求真值符号位为1,负数习惯写成十六进制形式:d=-02H解29正数求补码的方法负数求补码的方法正数补码求真值小结:补码的应用负数补码求真值正数码型不变按位取反加1正数码型不变按位取反加130课堂作业:分别写出下列各数的8位补码和16位补码。1.02.143.164.-165.-16.-27.-3~~~318位补码1.02.143.164.-165.-16.-27.-316位补码00000000B或00H0000H00001110B或0EH000EH00010000B或10H0010H11110000B或F0HFFF0H11111111B或FFHFFFFH11111110B或FEHFFFEH11111101B或FDHFFFDH32Thankyouverymuch谢谢大家!

1 / 32
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功