您好,欢迎访问三七文档
1.十进制混合小数转换二进制数混合小数由整数和纯小数复合而成。转换时将整数部分和纯小数部分分别按规则进行转换,然后再将它们组合起来即可。(53.6875)10=(110101.1011)22.二进制数转换十进制数只要将被转换的数按式展开,并计算出结果即可。(111011.101)2=1×25+1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3=(59.625)10复习课3.二进制数与八进制数之间的转换三位二进制数恰有八种组合(000、001、……111)。可以小数点开始向左和右分别把整数和小数部分每三位分成一组。然后用一个等值的八进制数代换每一组的三位二进制数,不足补0。现举例说明如下。设有一个二进制数1101001.0100111,要转换成八进制数。我们将它从小数点开始分别向左和向右分为三位一组:001101001.010011100151.234(151.234)8(1101001.0100111)2=4.二进制数与十六进制数之间的转换四位二进制数恰有十六种组合(0000、0001、……1111)。可以小数点开始向左和右分别把整数和小数部分每四位分成一组。然后用一个等值的十六进制数代换每一组的四位二进制数,不足补0。现举例说明如下。10010100101.11100111014A5.E74(4A5.E74)16(10010100101.1110011101)2=000(2F4B.D0C)16=0010111101001011.110100001100十六进制数转换为二进制数的过程正相反()25.机器数与真值数的符号在机器中亦被“数码化”。用“0”表示正数符号,用“1”表示负数符号。设有N1=+1001001;N2=-1001001。则它们在机器中表示为:N1:01001001N2:11001001我们把“符号化”的数称为机器数,而符号没有数码化的数称为数的真值。机器数一般是固定长度的,数的位不够时应当补足。6.原码原码是一种简单的机器数表示法。它规定正数的符号用0表示,负数的符号用1表示,数值部分即为该数的本身。例如:X=+100101,其原码表示为[X]原=00100101。X=—100101,其原码表示为[X]原=10100101。机器数用原码表示简单易懂,易于真值转换。但进行加减运算比较复杂。这是因为,原码实际上只是把数的符号“数码化”了,其运算方法与手算类似。例如要作x+y的运算,首先要判别符号,若x、y同号,则相加;若x、y异号,就要判别两数绝对值的大小,然后将绝对值大的数减去绝对值小的数。显然,这种运算方法不仅增加运算时间,而且使设备也复杂了。而机器数的补码表示法可避免上述缺陷。7.补码补码表示法的指导思想:把负数转化为正数,使减法变成加法,从而使正负数的加减运算转化单纯的正数相加运算。求补码比较复杂,这里介绍一种简单的转换方法:如果X≥0时其补码与原码相同;如果X<0时其补码符号位为1,其它各位求反码,然后在最低位加1。所谓反码就是将1变为0,0变为1。如:X=-1010101[X]补=10101010+1=10101011那么如何从[X]原转换成[X]补呢?已知[X]原,则正数X的补码为其本身;负数X的补码等于它的原码[X]原除符号位外“求反加1”。反之,若已知负数的补码[X]补,同样可以通过对[X]补除符号位外“求反加1”得到它的原码[X]原。8.反码在补码表示中已经提到反码,它也是一种机器数的表示法。在求反码时,与求补码相似,只是少加了一个1而以。X=+1101010[X]反=01101010Y=-1101010[Y]反=100101019.算法的表示为了描述算法,可以使用多种方法。1)自然语言2)传统流程图3)N-S流程图4)PAD图5)伪代码(PDL)6)计算机语言例1:用伪代码法进行算法设计:输入一个数x,求出:要求误差小于10-6!7!5!3sin753xxxxx输入x;n←1,s←x,q←x,n←1,p←1,sp←1;While(q/p≥10-6){n←n+2,q←q*x*x,p←1,i←1;While(i≤n){p←p*i;i←i+1;}sp←-sp;s←s+sp*q/p;}输出s;1.主机地址每台计算机也有一个由授权单位分配的号码,我们称之为IP地址。IP地址也采取层次结构,但它与电话号码的层次有所不同而IP地址的层次是按逻辑网络结构进行划分的,一个IP地址由两部分组成,即网络号和主机号,网络号用于识别一个逻辑网络,而主机号用于识别网络中的一台主机。只要两台主机具有相同的网络号,不论它们位于何处,都属于同一个逻辑网络;相反,如果两台主机网络号不同,即使比邻放置,也属于不同的逻辑网络。IP地址由32位二进制数值组成(4个字节),但为了方便用户的理解和记忆,它采用了十进制标记法,即将4个字节的二进制数值转换成四个十进制数值,每个数值小于等于255,数值中间用“.”隔开。10.因特网的主机地址和域名系统二进制IP地址:字节1字节2字节3字节411001010010111010111100000101100用十进制表示法表示成:202.93.120.44但是对于一些小规模网络可能只包含几台主机,即使用一个C类网络号仍然是一种浪费(可以容纳254台主机),因而我们需要对IP地址中的主机号部分进行再次划分,将其划分成子网号和主机号两部分。再次划分后的IP地址的网络号部分和主机号部分用子网屏蔽码来区分,子网屏蔽码也为32位二进制数值,分别对应IP地址的32位二进制数值。对于IP地址中的网络号部分在子网屏蔽码中用“1”表示,对于IP地址中的主机号部分在子网屏蔽码中用“0”表示。•例如,对于网络号l68.113.81.0的IP地址.其子网屏蔽码为:用十进制表示法表示成255.255.255.03)特殊的IP地址有些IP地址不能用来标识主机,具有特殊意义,典型的如下。主机号部分为全0表示某个网络的IP地址.因特网上的每个网络都有一个IP地址。主机号部分为全1表示某个网络上的所有主机(广播地址)。例如,192.168.10.0是一个C类网络的地址。192.168.10.255表示该网络中的所有主机。11、课堂作业已知某计算机的32位IP地址为:10101100.00010000.00011100.00110011子网掩码为:255.255.255.0试求:1、写出该IP地址的十进制表示法。2、写出该主机的网络号和主机号。3、写出该网络的主机数量。4、写出该网络的广播地址。12.数据加密技术(1)对称式加密法这种方法就是加密和解密使用同一密钥。安全信道加密器信道发送者解密器分析者接收者密文C密钥K密文C消息M图4.26对称密码系统模型【例1】恺撒(Caesar)密码加密恺撒密码(Caesarcipher)的加密方法主要用于英语文本,将明文中的每个字母用字母表中该字母后第k个字母来替换,把字母a约定排在字母z之后。如果k=3,对应关系如下图:因此,k的值可以看作密钥。在k=a时,如果要对明文“Iloveyou.”进行加密,得到的密文为“Loryhbrx.”。尽管密文看起来像乱码,但如果你知道是用恺撒密码加密的,因为密钥值只有25个,所以破译者不用很长时间就可以破解它。2.非对称式加密法非对称式加密法也称公钥密码加密法。这一加密方法的最大特点是采用两个密钥将加密和解密分开:一个密钥公开,作为加密密钥,叫做公钥(PublicKey);一个为用户专用,作为解密密钥,叫做私钥(PrivateKey),两个密钥必须配对使用才有效。通信双方无需事先交换密钥就可进行保密通信。加密算法解密算法明文报文M明文报文M密文KB+(M)私有解密密钥KB-公开加密密钥KB+M=KB-(KB+(M))图4.27非对称式加密法模型[例2]RSA公开密钥密码算法公开密钥体系中最有代表性的算法为RSA算法,首先来分析RSA的工作原理,RSA算法产生一对密钥,一个人可以用密钥对中的一个加密消息.另一个人则可以用密钥对中的另一个解密消息。同时,任何人都无法通过公钥确定私钥.也没有人能使用加密消息的密钥解密。只有密钥对中的另一把可以解密消息。RSA有两个主要部分。(2)确定加密和解密算法。在选择公钥/私钥之前,必须执行如下步骤(1)选择两个大素数P和q。(2)计算n和z,n=pq,z=(p-1)(q-1)。(3)选择一个小于n的数e,且使e和z没有(非1的)公因数.称e与z互素。(4)找到一个数d.使得ed-1可以被z整除。(5)公钥KB+(m)就是二元组(n,e);其私钥KB-就是二元组(n,d)。假设小张要和小李通信,具体过程说明如下。小张利用公开的加密钥(n,e)进行加密,设小张要给小李发送明文报文为m,mn。产生的密文为:c=memodn;(mod为模运算,即取余数)。小李需要用他的私钥(n,d)进行解密,对收到的密文报文c解密,M=cdmodn,M就等于m。进一步,假设小李选择P=5和q=7。计算n=pq=35.z=(p-1)(q-1)=24。选择e=5,en,e和z没有(非1的)公因数,即e与z互素。选择d=29,ed-1可以被z整除.即5×29-1可以被24整除。公钥KB+(m)就是二元组(n,e)=(35,5);其私钥KB-就是二元组(n,d)=(35,29)。小张利用公开的加密钥(n,e)=(35,5),加密过程如下。设小张要给小李发送明文报文为m=25,mn。利用公式c=memodn.计算出:c=255mod35=30。小李需要用他的私钥(n,d)=(35,29)解密过程:对收到的密文报文c=30解密,利用公式M=cdmodn,计算出:M=3029mod35=25。注意:选择的P和q值越大,RSA越难于攻破.但是执行加密和解密所用的时间也越长。就目前的计算机水平n取1024位是安全的,2048位是绝对安全的。RSA实验室推荐公司使用l024位的密钥。
本文标题:计算机导论复习课
链接地址:https://www.777doc.com/doc-3381207 .html