理论题辅导数制及其转换_第1页
理论题辅导数制及其转换_第2页
理论题辅导数制及其转换_第3页
理论题辅导数制及其转换_第4页
理论题辅导数制及其转换_第5页
免费预览已结束,剩余60页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数制及其转换数的机器表示 字符编码数制与编码 1 数制及其转换 一、数制的概念 数制就是数的进位制,是数的表示方法和运算规则。在计算机内部,数都是用二进制表示的,二进制与八进制和十六进制很容易转换。因此我们需要掌握十进制、二进制、八进制和十六进的用法。 p进制数由0,1,2,p1共p个数字构成,运算规则是逢p进1。 二进制数的运算算术运算逻辑运算作业+加法运算法则:0000111011110例:求(10011.01)2 (100011.11)2 ?1 0 0 1 1 . 0 11 0 0 0 1 1 . 1 1)0. 0111011(110111)2练习:求(1011011)2 (1010.1

2、1)2 ?1 0 1 1 0 1 11 0 1 0 . 1 1)1. 11010011(1100101.11)2减法运算法则:0001 0 11 1 010 11(0 1)例:求(10110.01)2 (1100.10)2 ?1 0 1 1 0 . 0 11 1 0 0 . 1 0 )1. 11001(1001.11)2练习:求(1010110)2 (1101.11)2 ?1 0 1 0 1 1 0 . 0 01 1 0 1 . 1 1 )1. 00001001(1001000.01)2乘法运算法则:0001 0 00 1 01 11例:求(1101.01)2 (110.11)2 ?1 1 0

3、 1 . 0 11 1 0 . 1 1 )(1011001.0111)21 1 0 1 0 11 1 0 1 0 10 0 0 0 0 01 1 0 1 0 11 1 0 1 0 11 0 1 1 0 0 1 . 0 1 1 1除法运算法则:0001 0 =(无意义)0 1 01 11例:求(1101. 1)2 (110)2 ?(10.01)2.1011011101101 101 10010 .01练习:(11111.01)2 (11110.1)2 1 1 1 1 1. 0 11 1 1 1 0 .11 1 1 1 1 0 11 1 1 1 1 0 11 1 1 1 1 0 11 1 1 1

4、1 0 11 1 1 1 1 0 1 1 1 1 0 1 1 1 0 0 1.0 0 1练习:(11001. 11)2 (1010)2 ?.11100110101作业练习(1)(1011)2(10010)2 =11101B(2)(100101)2-(11100)2 =1001B(3)(11001)2(111)2 =10101111B(4)(100011)2(111)2 =101B(5)(100010)2(1001)2 =11.11B(6)(10101)2(1011)2 =100000B(7)(101100)2-(10110)2 =10110B(8)(11010)2(1011)2 =100011

5、110B(9)(1000001)2(1101)2 =101B(10)(1111)2(111)2 =1101001B真话假话 有一天,某国首都的一家珠宝店,被盗贼窃走一块价值5000美元的钻石。经过几个月的侦破,查明作案的肯定是A,B,C,D这四个人当中的某一个。于是,这四个人被作为重大嫌疑对象而拘捕入狱,接受审讯。四个人的供词中有一些互相矛盾的内容: A:不是我作案的。 B:D就是罪犯。C:B是盗窃这块钻石的罪犯。D:B有意诬陷我。 因为几个人供述的内容互相矛盾,谁是真正的罪犯还无法确认。现在,我们假定四个人当中只有一个说了真话。那么请问:罪犯是谁? 逻辑运算:逻辑代数:逻辑变量:它是指“条件

6、”与“结论”之间的关系。它是指对因果关系进行分析的一种运算,运算结果并不表示数制的大小,而是表示逻辑概念成立还是不成立。是实现逻辑运算的数学工具。(由英国人乔治布尔创立,又称布尔代数)逻辑代数是通过逻辑变量表示命题的A:今天去郊游B:今天天气好C:今天不上课A=B C含义:“若今天天气好,并且今天不上课,则今天去郊游”。表示“与”运算,是“并且”的意思A=B C表示“或”运算表示A、B、C的反命题,表示“非”运算含义:“若今天天气不好,或今天上课,则今天不去郊游”。逻辑变量逻辑变量三种基本的逻辑关系逻辑与(And)逻辑或(Or)逻辑非(Negate)逻辑异或(ExclusiveOr)A:明天是

7、星期一B:今天是星期一假 0真 1C:今天是星期一 并且 明天是星期一假 0D:今天是星期一 或者 明天是星期一真 1运算符:And运算法则:0 0 = 00 1 = 01 0 = 01 1 = 1只要当参与的逻辑变量都为1时,“与”运算的结果才会为1;只要其中有一个为0,其结果就为0。例:逻辑运算 10101111 10011101 = ?1 0 1 0 1 1 1 11 0 0 1 1 1 0 1)1011000110001101练习:逻辑运算1011100111110011 = ?1 0 1 1 1 0 0 11 1 1 1 0 0 1 1)10001101100110001与运算符:运

8、算法则:0 0 = 00 1 = 11 0 = 11 1 = 1只要当参与“或”运算的任意一个逻辑变量为1时, “或”运算结果就为1;只有都为0,结果才为0。例:逻辑运算 10101010 + 01100110 = ?1 0 1 0 1 0 1 00 1 1 0 0 1 1 0 )0111011111101110练习:逻辑运算10100001 = ?1 0 1 0 0 0 0 11 0 0 1 1 0 1 1 )1101110110111011Or或运算符:运算法则:逻辑非运算是逻辑否定的意思,用二进制进行逻辑运算就是“求反”操作。例:逻辑运算练习:逻辑运算在变量上加“”1 = 00 = 11

9、0101100=0101001101001011=10110100非运算符:运算法则:只有参与“异或”运算的两个逻辑变量值不同时, “异或”运算结果为1;否则结果为0。例:逻辑运算1 0 1 0 1 0 1 00 0 0 0 1 1 1 110100101101001010 0 = 00 1 = 11 0 = 11 1 = 00 0 = 00 0 = 010101010 00001111=异或作业练习(1) 1011 1001 =(2) 10101 11100 =(3)101 =(4) 100 111 =(5)1011 1001 =(6)1001 1011 =(7) 10010 10110 =

10、(8)1101 1011 =(9)1000 1101 =(10)1111 1011= 二、数制的转换 在数制的转换中,通常在数值后面加字母D、B、O、H分别表示该数是10、2、8、16进制数,D、B、O、H的含义分别是Decimal、Binary、Octal、Hexadecimal。 1、p进制转10进制( kn kn1k1 k0 . k1km ) p= knp n + kn1p n1 + + k1p + k0 + k1p 1 + kmp m 其中0k i p,i = mn。p叫做p进制数的基数,k i叫做该p进制数的第i位,p i叫做第i位的权。常用数制对照表 16进制00008100010

11、81111910011192102210101012A3113311101113B41004412110014C51015513110115D61106614111016E71117715111117F1610000201010进制2进制8进制16进制10进制2进制8进制例如:12345=1*104+2*103+3*102+4*101+5*100基数为10也有用下标来表示进制 (10)10 (10)2 (10)8 (10)16也可以用字母来表示 10D 10B 10O 10H权例如:101001.101 B = 2 5 + 2 3 + 1 + 2 1 + 2 3 = 32 + 8 + 1 +

12、0.5 + 0.125 = 41.625 DABC.D H = A16 2 + B16 + C + D16 1 = 2560 + 176 + 12 + 130.0625 = 2748.8125 D 练习:把下列进制数转化为十进制数(34)8 (57)16 (1011)2 2、10进制转2进制 整数转换 位权法:若( x ) 10 = ,k i = 0或1, 则( x ) 10 = ( kn kn1k1 k0 )2。 例如:23 D = 2 4 + 2 2 + 2 + 1 = 10111 B, 257 = 2 8 + 1 = 100000001 B。 注:上述结果也可由常用数制对照表中的210进

13、制数的转换规律得到。 除2取余法,商为零止,上低下高。 例如:23 = 211 + 1 低位 11 = 25 + 1 5 = 22 + 1 2 = 21 + 0 1 = 20 + 1 高位 23 = 10111 B 小数转换: 2 乘取整法,积为零止,上高下低。 例如:20.375 = 0.75+ 0 高 20.75 = 0.5 + 1 20.5 = 0.0 + 1 低 0.375 = 0.011 B例1 将12.3转换为二进制。解:20.3 = 0.6 + 0 高 20.6 = 0.2 + 1 20.2 = 0.4 + 0 20.4 = 0.8 + 0 20.8 = 0.6 + 1 低 。练

14、习:把下列进制数转化为二进制数34 23.25 3、10进制转8、16进制 10进制转8进制和16进制与102进制的转换是类似的。例2 求1234.5的16进制数。解:1234 = 1677 + 2 低 77 = 164 + D 4 = 160 + 4 高 160.5 = 0.0 + 8,1234.5 = 4D2.8 H。 4、 2进制转8、16进制l 2进制转8进制:对2进制数从小数点向两边每3位分节,将每一节的3位2进制数转换为一个8进制数字,将所得的各个8进制数字(包括小数点)拼接起来即是所求的8进制数。 例如:11010101.10011 B = 11,010,101.100,110

15、B = 325.46 O。 注:对2进制数分节时,若小数点右边最后一节不足3位,则要用0补足到3位。 l 2进制转16进制:对2进制数从小数点向两边每4位分节,将每一节的4位2进制数转换为一个16进制数字,将所得的各个16进制数字(包括小数点)拼接起来即是所求的16进制数。 例如:11010101.10011 B = 1101,0101.1001,1000 B = D5.98 H 5、8/16进制转2进制 将8进制(16进制)数转换为2进制数时,只需将每一个8进制(16进制)数字转换为3位(4位)2进制数,然后拼接起来即得2进制数。例如:123.4 O = 1,010,011.100 B =

16、1010011.1 B, 又 1F.E H = 1,1111.1110 B = 11111.111 B 返回练习:转换相应的进制数(10100)2=( )8 (42)8=( )2(10100)2=( )16 (CA)16=( )2 作业练习(1) (111000)2=( )16(2) 43H= D(3) (5324)10=( )16(4)下列4种不同数制表示的数中,数值最小的一个 A)八进制数52 B)十进制数44 C)十六进制数2B D)二进制数101001(5) 110110B = D (6) 234D = B (7) (EF)16 = ( )2 (8) (76)8= ( )2 (9) (

17、1010101101)2=( )16 (10) (23.625)10 = ( )2 2 数的机器表示 二进制数在计算机内部是按一定的规则存储的,例如正号用0存储,负号用1存储,所有的数用补码存储,用16 bit或32 bit存储一个整数。补码是一个非常重要的概念,如果补码的概念没有弄清楚,就肯定学不好C语言等有关计算机课程。补码与字长的概念有关。 为什么要引入补码?在计算机内,数的正负号用0和1表示,使正负号和数值全部数字化。既然如此,能否将正负号和数值放在一起进行运算,而不因正负号的不同分别处理呢?为此,提出计算机的补码表示法。数据的这种表示形式大大地简化了运算的处理过程,因为减一个数可以代

18、换为加这个数的相反数,使减法变为加法。 CPU一次传送数据的最大二进制位数叫做计算机的字长。字长就是CPU内部数据总线的位数。字长越大,计算机的运算速度就越快。字长一般是8的倍数,现在的计算机的字长一般是32位或64位。在以下的讨论中,为了叙述方便,假设计算机的字长是8位。 一、整数的原码、反码、补码表示设字长= 8,(1)数的原码表示:原码是最简单的机器数表示方法,对正数 符号位用0表示,对负数,符号位用1表示(2)数的反码表示:对正数,同原码。对负数,先表示为绝对值(正数)的原码,然后取反一、整数的原码、反码、补码表示(3)数的补码表示:对正数,同原码。对负数,先将其表示为反码,然后在该反

19、码的最低位加1.例如: 的原码为0101010 -101010的原码为1101010 反码为1010101 补码为1010110练习:写出下列二进制数的原码反码补码 设字长= 8,求下列10进制数的补码: 36 57 36原 = 36反 = 36补 = 00100110;解: 36 = 100110 B 57 = 111001 B(57)原 = 10111001(57)反 = 11000110(57)补 = 11000111求+ 0和 0的原码、反码、补码。解:( + 0 )原 = ( + 0 )反 = ( + 0 )补 = 00000000, ( 0 )原 = 10000000,( 0 )反

20、 = 11111111, ( 0 )补 = 00000000。 由此可知,+ 0和 0的原码、反码都不相等,+ 0和 0的补码相等。 二、实数的补码存储 在计算机中存储实数(带有小数的数)(也叫浮点数)时,要先将实数化为S2 p的形式,S和p都是2进制整数,例如 12.375 = 1100.011 B = 11000112 11 B。形如S10 p的数叫做10进制浮点数,形如S2 p的数叫做2进制浮点数(S和p都是2进制数,p为整数)。若x = S2 p,则S叫做x的尾数,p叫做x的阶码。 在计算机中一般用4B存储一个实数,其中1B存储阶码,3B存储尾数。阶码和尾数都用补码存储,阶码在左,尾数

21、在右。 例8 求10进制数 12.375的二进制浮点数。解: 12.375 = 1100.011 B = 11000112 11 B p = 11 B,p原 = 10000011(8位), p反 = 11111100,p补 = 11111101; S = 1100011 B, S原 = 10000000,00000000,01100011(24位) S反 = 11111111,11111111,10011100 S补 = 11111111,11111111,10011101 ( 12.375)补 = = 返回p补S补1111110111111111,11111111,10011101求10进制

22、数 23.625的二进制浮点数。求10进制数 33.125的二进制浮点数。练习: 3 字符编码 在计算机中不仅用2进制存储数,文字符号、图形图象、声音动画等一切信息都是用2进制存储的。本节介绍英文字符与中文字符的2进制编码,简称字符编码。字符编码也是许多计算机课程的一项重要的基础知识。 一、ASCII码ASCIIAmeican Standard Code for Information Interchange,美国标准信息交换码。半角英文字符的2进制编码叫做ASCII码,每一个字符的ASCII码是由ANSIAmerican National Standard Institute(美国国家标准局)制定,例如ANSI规定用8位2进制码01000001来存储大写字母A,用01100001存储小写字母a。 ANSI共制定了128个字符的2进制编码(即ASCII码),编号为0127,每个字符的ASCII码占1B,且最高位是0。字符的编号就是字符的ASCII码的10进制,其中031号字符是控制字符,32127号字符是可显示字符。我们需要记住常用字符的ASCII码10进制,其余字符的ASCII码可以查阅有关书籍的ASCII码表。在程序设计中有时需要知道某些字符的ASCII码。 常用字符的ASCII码: 空格09AZaz324857659097122 二、汉字编码 汉字的存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论