计算机科学导论第二章数制课件_第1页
计算机科学导论第二章数制课件_第2页
计算机科学导论第二章数制课件_第3页
计算机科学导论第二章数制课件_第4页
计算机科学导论第二章数制课件_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

2023/1/3第2章数制NumberSystems2022/12/29第2章数制2023/1/3理解数制的概念.

分清位置化数制和非位置化数制.

描述十进制.描述二进制.

将十进制转换为二进制、八进制或十六进制.

将二进制和八进制相互转换.

将二进制和十六进制相互转换.

查找在各种系统中代表特定数值所需的数码.目标通过本章的学习,同学们应该能够:2022/12/29理解数制的概念.目标通过本章的学习,2023/1/32-1引言INTRODUCTION数制定义了如何用独特的符号来表示一个数字.在不同的系统中,数字有不同的表示方法.例如,这两个数字(2A)16

和(52)8

都是指同样的数量(42)10,但是它们的表示截然不同.

一些数制系统已经在过去广为使用,并可以分为两类:位置化数制和非位置化数制.我们的主要目标是讨论位置化数制系统,但也给出非位置化数制系统的例子.2022/12/292-1引言数制定义了如何用独特的符2023/1/32-2位置化数制系统POSITIONALNUMBERSYSTEMS在位置化数制系统中,符号所占据的位置决定了其表示的值。它的值是:2022/12/292-2位置化数制系统在位置化数制系2023/1/3位置化数制系统

其中,S是一套符号集,Si是数码(数字符号),b是底或基数(数码的个数).

bi:权(数值中每一固定位置对应的单位)计数规则:逢基数进一例:(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2

2022/12/29位置化数制系统其中,S是一套符号集,2023/1/3下标法:用小括号将所表示的数括起来,然后在右括号右下角写上数制的基R。字母法:在所表示的数的末尾写上相应数制字母。2022/12/29下标法:用小括号将所表示的数括起来,然后2023/1/3进制符号数码二进制

B(Binary)

0~1八进制

O(Octal)

0~7十进制

D(Decimal)

0~9十六进制H(Hexadecimal)0~9,A~F2022/12/29进制符号数码二进制2023/1/3S={0,1,2,3,4,5,6,7,8,9}十进制系统Thedecimalsystem(以10为底)十进制来源于拉丁词根decem(ten).在该系统中,底b=10,并且我们用10个符号来表示一个数该系统中的符号,常被称为十进制数码,或仅称为数码.

2022/12/29S={0,1,2,3,4,2023/1/3整数Figure2.1在十进制系统中使用位置量表示整数2022/12/29整数Figure2.1在十进制系统2023/1/3Example2.1在十进制系统中使用位置量表示整数+224.注意,在位置1的数码2值为20,但是在位置2的同一个数码其值为200。通常我们省略掉的加号,实际上是隐含的.2022/12/29Example2.1在十进制系统中使用2023/1/3Example2.2在十进制系统中使用位置量表示整数−7508.可以用k表示的十进制整数的最大值?答案是Nmax=10k-1。如果k=5,那么这个最大值是Nmax=105-1=99999.()Values2022/12/29Example2.2在十进制系统中使用2023/1/3实数Example2.3以下显示了实数+24.13的位置量.2022/12/29实数Example2.3以下显示了实数2023/1/3二进制binary来源于拉丁词根bini(二).在该系统中,底b=2,并且用两个符号来表示一个数

二进制系统Thebinarysystem(以2为底)S={0,1}该系统中的符号常被称为二进制数码或位2022/12/29二进制binary来源于拉丁词根bi2023/1/3整数Figure2.2在二进制系统中使用位置量表示整数2022/12/29整数Figure2.2在二进制系2023/1/3Example2.4二进制数(11001)2,下标2表示底是2.相等的十进制数是N=16+8+0+0+1=25.2022/12/29Example2.4二进制数(1102023/1/3实数Example2.5与十进制数5.75等值的二进制数(101.11)2.2022/12/29实数Example2.5与十进制数5.2023/1/3十六进制hexadecimal来源于希腊词根hex(six)和拉丁词根decem(ten).在该系统中,底b=16,并且用16个符号来表示一个数.字符集是,十六进制系统Thehexadecimalsystem(以16为底)S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}注意符号A,B,C,D,E,F分别等于10,11,12,13,14,15.该系统中的符号常被称为十六进制数码.2022/12/29十六进制hexadecimal来源于2023/1/3整数Figure2.3在十六进制系统中使用位置量表示一个整数2022/12/29整数Figure2.3在十六进制系2023/1/3Example2.6与十进制数686等值的十六进制数(2AE)16.相等的十进制数为N=512+160+14=686.2022/12/29Example2.6与十进制数686等2023/1/3八进制octal来源于拉丁词根octo(八).在该系统中,底b=8,并且用8个符号来表示一个数.字符集是,八进制系统Theoctalsystem(以8为底)S={0,1,2,3,4,5,6,7}2022/12/29八进制octal来源于拉丁词根oc2023/1/3整数Figure2.4在八进制系统中使用位置量表示一个整数2022/12/29整数Figure2.4在八进制系统2023/1/3Example2.7八进制数(1256)8.相等的十进制数为N=512+128+40+6=686.2022/12/29Example2.7八进制数2023/1/3表2.1是本章讨论的四种位置化系统的小结.四种位置化系统总结2022/12/29表2.1是本章讨论的四种位置化系统的小结2023/1/3表2.2显示了数字0到15在不同的系统中是如何表示的.2022/12/29表2.2显示了数字0到15在不同的系统中2023/1/3如何将一种系统中的数字转换为另一个系统中等价的数字?

如何从其他进制转换到十进制.如何从十进制转换到其他进制.如何简便地进行二进制与八进制或十六进制之间的相互转换.转换

2022/12/29如何将一种系统中的数字转换为另一个系统中2023/1/3其他进制到十进制的转换Figure2.5任意进制到十进制的转换2022/12/29其他进制到十进制的转换Figure22023/1/3Example2.8如何将二进制数(110.11)2

转换为十进制数6.75.2022/12/29Example2.8如何将二进制数(12023/1/3Example2.9如何将十六进制数(1A.23)16

转换为十进制数.注意这个十进制表示并不精确,因为3×16−2=0.01171875.四舍五入成三位小数(0.012).2022/12/29Example2.9如何将十六进制数2023/1/3Example2.10如何将八进制数(23.17)8

转换为十进制数.在十进制中(23.17)8≈19.234.再一次,我们把7×8−2=0.109375四舍五入.2022/12/29Example2.10如何将八进制数2023/1/3Figure2.7转换十进制的整数部分到其他进制除基取余法十进制到其他进制的转换2022/12/29Figure2.7转换十进制的整数2023/1/3Example2.11如何将十进制数35转换为二进制数?从这个十进制数35开始,一边连续寻找除以2得到的商和余数,一边左移.结果是35=(100011)2.2022/12/29Example2.11如何将十进制数32023/1/3Example2.12如何将十进制数126转换为八进制数.一边连续寻找除以8得到的商和余数,一边左移.结果是126=(176)8.2022/12/29Example2.12如何将十进制数12023/1/3Example2.13如何将十进制数126转换为十六进制数.一边连续寻找除以16得到的商和余数,一边左移.结果是126=(7E)162022/12/29Example2.13如何将十进制数2023/1/3例:将十进制整数(105)10转换为二进制整数。解:

2︳105

2︳52

余数为12︳26

余数为02︳13

余数为02︳6

余数为12︳3

余数为02︳1

余数为10 余数为1

所以,(105)10=(1101001)22022/12/29例:将十进制整数(105)10转换为二进2023/1/3Figure2.9转换十进制的小数部分到其他进制乘基取整法转换十进制的小数部分到其他进制2022/12/29Figure2.9转换十进制的小数2023/1/3Example2.14将十进制数0.625转换为二进制数.该例子显示小数部分如何计算.2022/12/29Example2.14将十进制数0.62023/1/3Example2.15如何将0.634转换为八进制数且精确到小数四位.结果是0.634=(0.5044)8.注意,乘以8(以8为底).2022/12/29Example2.15如何将0.6342023/1/3Example2.16如何将十进制数178.6转换为十六进制数,且精确到1位小数.结果是178.6=(B2.9)16

,注意,以16为底时除以或乘以16.2022/12/29Example2.16如何将十进制数12023/1/3Example2.17通常把小于256的十进制数

转换为二进制数,有一个变通的方法,即把这个数分解为下列二进制位置量对应数的和:2022/12/29Example2.17通常把小于252023/1/3Example2.18当分母是2的幂次时,用类似的方法可以把十进制小数转换为二进制:结果是(0.011011)22022/12/29Example2.18当分母是2的幂次2023/1/3二进制-十六进制的转换Binary-hexadecimalconversionFigure2.10二进制与十六进制的互换2022/12/29二进制-十六进制的转换Figure2.2023/1/3Example2.19如何将二进制数(10011100010)2转换为十六进制数解:首先将二进制数排为4位一组的形式:10011100010注意:最左边一组可能是1到4位不等.根据表2.2所示的值对照每组等量转换得到十六进制数(4E2)16.2022/12/29Example2.19如何将二进制数2023/1/3Example2.20与十六进制数(24C)16相等的二进制数是多少?解:将每个十六进制数码转换成4位一组的二进制数:2→0010,4→0100,C→1100结果是(001001001100)2.2022/12/29Example2.20与十六进制数(22023/1/3二进制-八进制的转换Binary-octalconversionFigure2.11二进制与八进制的互换2022/12/29二进制-八进制的转换Figure2.12023/1/3Example2.21如何将二进制数(101110010)2转换为八进制数.解:每3位一组转换为1位八进制数码.对照每3位一组等量转换得到八进制数.结果是(562)8.1011100102022/12/29Example2.21如何将二进制数(2023/1/3Example2.22与(24)8相等的二进制数是多少?解:将每个八进制数码写成对等的二进制位组2→0104→100结果是(010100)2.2022/12/29Example2.22与(24)8相等2023/1/3八进制-十六进制的转换Octal-hexadecimalconversionFigure2.12八进制与十六进制的互换2022/12/29八进制-十六进制的转换Figure2.2023/1/3Example2.23找出二进制数码的最小数,用于存储一个最大6个数码的十进制整数.解:k=6,b1=10,b2=2.x=「k×(logb1/logb2)=「6×(1/0.30103)=20.最大的6数码十进制数是999,999,并且最大的20位二进制数1,048,575.注意,可以用19位表示的最大的数是524287,它比999,999小.因此需要20位.2022/12/29Example2.23找出二进制数码的2023/1/32-3非位置化数制系统NONPOSITIONALNUMBERSYSTEMS尽管非位置化系统并不用在计算机中,但我们给出简单的介绍作为和位置化数制系统的比较.非位置化数制系统仍然使用有限的数字符号,每个符号有一个值.

但是,符号所占用的位置通常与其值无关,每个符号所占的位置是固定的.为求出该数字的值,我们把所有符号表示的值相加.

2022/12/292-3非位置化数制系统尽管非位置化2023/1/3该系统数字表示为:并有值为:与前面提到的相加规则有一些例外,如例2.24所示.2022/12/29该系统数字表示为:并有值为:与前面提到的2023/1/3Example2.24罗马数制是非位置化数制系统的一个好例子.该系统由罗马人发明,在欧洲一直使用到16世纪,该数制系统由一套符号集S={I,V,X,L,C,D,M}.每个符号的取值如表2.3所示2022/12/29Example2.24罗马数制是非位置2023/1/3为求一个数的值,需遵循特定法则将符号的值相加.1相同的数字并列表示相加.Ⅱ表示2,XXX表示30

2不同的数字并列,右边的小于左边的,表示相加。Ⅵ表示十进制数6,LX表示十进制数60

。3不同的数字并列,左边的小于右边的,表示右边的减去左边的。Ⅳ表示十进制数4,Ⅸ表示94对于大数字,在6种符号(除I以外)中的任意一个上方加横杆表示乘以1000.5罗马数制中缺少数码02022/12/29为求一个数的值,需遵循特定法则将符号的值2023/1/3Example2.24下面显示了一些罗马数字及其值.2022/12/29Example2.24下面显示了一些罗2023/1/3习题PP.24-26,练习二3-44题,每道大题至少做一道小题2022/12/29习题PP.24-26,练习二2023/1/3第2章数制NumberSystems2022/12/29第2章数制2023/1/3理解数制的概念.

分清位置化数制和非位置化数制.

描述十进制.描述二进制.

将十进制转换为二进制、八进制或十六进制.

将二进制和八进制相互转换.

将二进制和十六进制相互转换.

查找在各种系统中代表特定数值所需的数码.目标通过本章的学习,同学们应该能够:2022/12/29理解数制的概念.目标通过本章的学习,2023/1/32-1引言INTRODUCTION数制定义了如何用独特的符号来表示一个数字.在不同的系统中,数字有不同的表示方法.例如,这两个数字(2A)16

和(52)8

都是指同样的数量(42)10,但是它们的表示截然不同.

一些数制系统已经在过去广为使用,并可以分为两类:位置化数制和非位置化数制.我们的主要目标是讨论位置化数制系统,但也给出非位置化数制系统的例子.2022/12/292-1引言数制定义了如何用独特的符2023/1/32-2位置化数制系统POSITIONALNUMBERSYSTEMS在位置化数制系统中,符号所占据的位置决定了其表示的值。它的值是:2022/12/292-2位置化数制系统在位置化数制系2023/1/3位置化数制系统

其中,S是一套符号集,Si是数码(数字符号),b是底或基数(数码的个数).

bi:权(数值中每一固定位置对应的单位)计数规则:逢基数进一例:(123.45)10=1×102+2×101+3×100+4×10-1+5×10-2(101.01)2=1×22+0×21+1×20+0×2-1+1×2-2

2022/12/29位置化数制系统其中,S是一套符号集,2023/1/3下标法:用小括号将所表示的数括起来,然后在右括号右下角写上数制的基R。字母法:在所表示的数的末尾写上相应数制字母。2022/12/29下标法:用小括号将所表示的数括起来,然后2023/1/3进制符号数码二进制

B(Binary)

0~1八进制

O(Octal)

0~7十进制

D(Decimal)

0~9十六进制H(Hexadecimal)0~9,A~F2022/12/29进制符号数码二进制2023/1/3S={0,1,2,3,4,5,6,7,8,9}十进制系统Thedecimalsystem(以10为底)十进制来源于拉丁词根decem(ten).在该系统中,底b=10,并且我们用10个符号来表示一个数该系统中的符号,常被称为十进制数码,或仅称为数码.

2022/12/29S={0,1,2,3,4,2023/1/3整数Figure2.1在十进制系统中使用位置量表示整数2022/12/29整数Figure2.1在十进制系统2023/1/3Example2.1在十进制系统中使用位置量表示整数+224.注意,在位置1的数码2值为20,但是在位置2的同一个数码其值为200。通常我们省略掉的加号,实际上是隐含的.2022/12/29Example2.1在十进制系统中使用2023/1/3Example2.2在十进制系统中使用位置量表示整数−7508.可以用k表示的十进制整数的最大值?答案是Nmax=10k-1。如果k=5,那么这个最大值是Nmax=105-1=99999.()Values2022/12/29Example2.2在十进制系统中使用2023/1/3实数Example2.3以下显示了实数+24.13的位置量.2022/12/29实数Example2.3以下显示了实数2023/1/3二进制binary来源于拉丁词根bini(二).在该系统中,底b=2,并且用两个符号来表示一个数

二进制系统Thebinarysystem(以2为底)S={0,1}该系统中的符号常被称为二进制数码或位2022/12/29二进制binary来源于拉丁词根bi2023/1/3整数Figure2.2在二进制系统中使用位置量表示整数2022/12/29整数Figure2.2在二进制系2023/1/3Example2.4二进制数(11001)2,下标2表示底是2.相等的十进制数是N=16+8+0+0+1=25.2022/12/29Example2.4二进制数(1102023/1/3实数Example2.5与十进制数5.75等值的二进制数(101.11)2.2022/12/29实数Example2.5与十进制数5.2023/1/3十六进制hexadecimal来源于希腊词根hex(six)和拉丁词根decem(ten).在该系统中,底b=16,并且用16个符号来表示一个数.字符集是,十六进制系统Thehexadecimalsystem(以16为底)S={0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}注意符号A,B,C,D,E,F分别等于10,11,12,13,14,15.该系统中的符号常被称为十六进制数码.2022/12/29十六进制hexadecimal来源于2023/1/3整数Figure2.3在十六进制系统中使用位置量表示一个整数2022/12/29整数Figure2.3在十六进制系2023/1/3Example2.6与十进制数686等值的十六进制数(2AE)16.相等的十进制数为N=512+160+14=686.2022/12/29Example2.6与十进制数686等2023/1/3八进制octal来源于拉丁词根octo(八).在该系统中,底b=8,并且用8个符号来表示一个数.字符集是,八进制系统Theoctalsystem(以8为底)S={0,1,2,3,4,5,6,7}2022/12/29八进制octal来源于拉丁词根oc2023/1/3整数Figure2.4在八进制系统中使用位置量表示一个整数2022/12/29整数Figure2.4在八进制系统2023/1/3Example2.7八进制数(1256)8.相等的十进制数为N=512+128+40+6=686.2022/12/29Example2.7八进制数2023/1/3表2.1是本章讨论的四种位置化系统的小结.四种位置化系统总结2022/12/29表2.1是本章讨论的四种位置化系统的小结2023/1/3表2.2显示了数字0到15在不同的系统中是如何表示的.2022/12/29表2.2显示了数字0到15在不同的系统中2023/1/3如何将一种系统中的数字转换为另一个系统中等价的数字?

如何从其他进制转换到十进制.如何从十进制转换到其他进制.如何简便地进行二进制与八进制或十六进制之间的相互转换.转换

2022/12/29如何将一种系统中的数字转换为另一个系统中2023/1/3其他进制到十进制的转换Figure2.5任意进制到十进制的转换2022/12/29其他进制到十进制的转换Figure22023/1/3Example2.8如何将二进制数(110.11)2

转换为十进制数6.75.2022/12/29Example2.8如何将二进制数(12023/1/3Example2.9如何将十六进制数(1A.23)16

转换为十进制数.注意这个十进制表示并不精确,因为3×16−2=0.01171875.四舍五入成三位小数(0.012).2022/12/29Example2.9如何将十六进制数2023/1/3Example2.10如何将八进制数(23.17)8

转换为十进制数.在十进制中(23.17)8≈19.234.再一次,我们把7×8−2=0.109375四舍五入.2022/12/29Example2.10如何将八进制数2023/1/3Figure2.7转换十进制的整数部分到其他进制除基取余法十进制到其他进制的转换2022/12/29Figure2.7转换十进制的整数2023/1/3Example2.11如何将十进制数35转换为二进制数?从这个十进制数35开始,一边连续寻找除以2得到的商和余数,一边左移.结果是35=(100011)2.2022/12/29Example2.11如何将十进制数32023/1/3Example2.12如何将十进制数126转换为八进制数.一边连续寻找除以8得到的商和余数,一边左移.结果是126=(176)8.2022/12/29Example2.12如何将十进制数12023/1/3Example2.13如何将十进制数126转换为十六进制数.一边连续寻找除以16得到的商和余数,一边左移.结果是126=(7E)162022/12/29Example2.13如何将十进制数2023/1/3例:将十进制整数(105)10转换为二进制整数。解:

2︳105

2︳52

余数为12︳26

余数为02︳13

余数为02︳6

余数为12︳3

余数为02︳1

余数为10 余数为1

所以,(105)10=(1101001)22022/12/29例:将十进制整数(105)10转换为二进2023/1/3Figure2.9转换十进制的小数部分到其他进制乘基取整法转换十进制的小数部分到其他进制2022/12/29Figure2.9转换十进制的小数2023/1/3Example2.14将十进制数0.625转换为二进制数.该例子显示小数部分如何计算.2022/12/29Example2.14将十进制数0.62023/1/3Example2.15如何将0.634转换为八进制数且精确到小数四位.结果是0.634=(0.5044)8.注意,乘以8(以8为底).2022/12/29Example2.15如何将0.6342023/1/3Example2.16如何将十进制数178.6转换为十六进制数,且精确到1位小数.结果是178.6=(B2.9)16

,注意,以16为底时除以或乘以16.2022/12/29Example2.16如何将十进制数12023/1/3Example2.17通常把小于256的十进制数

转换为二进制数,有一个变通的方法,即把这个数分解为下列二进制位置量对应数的和:2022/12/29Example2.17通常把小于252023/1/3Example2.18当分母是2的幂次时,用类似的方法可以把十进制小数转换为二进制:结果是(0.011011)22022/12/29Example2.18当分母是2的幂次2023/1/3二进制-十六进制的转换Binary-hexadecimalconversionFigure2.10二进制与十六进制的互换2022/12/29二进制-十六进制的转换Figure2.2023/1/3Example2.19如何将二进制数(10011100010)2转换为十六进制数解:首先将二进制数排为4位一组的形式:10011100010注意:最左边一组可能是1到4位不等.根据表2.2所示的值对照每组等量转换得到十六进制数(4E2)16.2022/12/29Example2.19如何将二进制数2023/1/3Example2.20与十六进制数(24C)16相等的二进制数是多少?解:将每个十六进制数码转换成4位一组的二进制数:2→0010,4→0100,C→1100结果是(001001001100)2.2022/12/29Example2.20与十六进制数(22023/1/3二进制-八进制的转换Binary-octalconversionFigure2.11二进制与八进制的互换2022/12/29二进制-八进制的转换Figure2.12023/1/3Example2.21如何将二进制数(101110010)2转换为八进制数.解:每3位一组转换为1位八进制数码.对照

温馨提示

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

评论

0/150

提交评论