计算机运算基础_第1页
计算机运算基础_第2页
计算机运算基础_第3页
计算机运算基础_第4页
计算机运算基础_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机运算基础 计算机运算基础计算机运算基础 23 计算机运算基础计算机运算基础数制及其转换数制及其转换 数制是数制是数的进位计数制,是用一组固定的数码和数的进位计数制,是用一组固定的数码和一套统一的规则来表示数值的方法。在日常生活一套统一的规则来表示数值的方法。在日常生活中通常用十进制来中通常用十进制来计数。在计数。在计算机内部,一切信计算机内部,一切信息的存取、处理和传输均采用二进制计数,为了息的存取、处理和传输均采用二进制计数,为了书写与表示方便,还引入了八进制计数和十六进书写与表示方便,还引入了八进制计数和十六进制计数。制计数。l在日常生活中会遇到不同进制的数,如十进制数,逢在日常生活

2、中会遇到不同进制的数,如十进制数,逢10进进1;一周有七天,逢一周有七天,逢7进进1。而计算机中用的是二进制数,逢。而计算机中用的是二进制数,逢2进进1。l无论无论哪种数制,其共同之处都是哪种数制,其共同之处都是进位计数制进位计数制。4 数制及其转换数制及其转换 进位计数制进位计数制l各种数制的共同特点是:数制规定了每位数上可能有的各种数制的共同特点是:数制规定了每位数上可能有的数码数码的的个数,以及同一个数码处于不同位置表示不同的值。这就是数制个数,以及同一个数码处于不同位置表示不同的值。这就是数制中除数码外最重要的两个概念,即中除数码外最重要的两个概念,即基数基数(radixradix)和

3、)和位权位权(weightweight)。l基数基数(radixradix):基数是数制所使用数码的个数):基数是数制所使用数码的个数。5进位计数制进位计数制l数码数码是数制中表示基本数值大小的不同数字符号。例如,十进制是数制中表示基本数值大小的不同数字符号。例如,十进制有有1010个数码:个数码:0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9。l位位权权(weightweight)。一个数码处在不同位置上所代表的值)。一个数码处在不同位置上所代表的值不同。每不同。每个个数码所表示的数值等于该数码乘以一个与数码所在位置相关的常数码所表示的数值等于该数码乘以一个与

4、数码所在位置相关的常数,这个常数叫做位权。数,这个常数叫做位权。 数制及其转换数制及其转换6计算机计算机中常用的数制中常用的数制l十进制(十进制(DecimalDecimal)。使用)。使用0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9共共1010个数码来描述,基数为个数码来描述,基数为1010,计数规则是逢,计数规则是逢1010进进1 1。l二进制(二进制(BinaryBinary)。基数)。基数是是2 2,只有,只有两个数码,即两个数码,即0 0和和1 1,计数,计数规则是逢规则是逢2 2进进1 1。l八进制(八进制(OctalOctal)。基数)。基数是是

5、8 8,即由,即由0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7共共8 8个数码组成,逢个数码组成,逢8 8进进1 1。l十六进制十六进制(HexadecimalHexadecimal)。基数)。基数是是1616,数码是,数码是0 0、l l、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9、A A、B B、C C、D D、E E、F F。计数。计数规则是逢规则是逢1616进进1 1。 数制及其转换数制及其转换7 数制及其转换数制及其转换十十进制进制与二与二进制、进制、八八进制进制、十六进制十六进制对应关系对应关系十进制十进制二进制二进制八进制八进制十六进制十六进

6、制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117Fl(1 1)在技术上容易实现)在技术上容易实现。l(2 2)运算规则简单)运算规则简单。l(3 3)可靠性高。)可靠性高。8 数制及其转换数制及其转换计算机采用计算机采用二进制的原因二进制的原因l用电路的两个状态用电路的两个状态-开关来表示二进制数,数码的存储和传开关来表示二进制数,数码的存储和传输简单、可靠。输简单、可靠。l位数较多,使用不便;不合人们的习惯,输入时将十

7、进制转位数较多,使用不便;不合人们的习惯,输入时将十进制转换成二进制,运算结果输出时再转换成十进制数。换成二进制,运算结果输出时再转换成十进制数。l一个数的十进制表示记为:一个数的十进制表示记为:dndn-1.d1d0(10)其中:其中:dn 1, , 9 , n0(多位数) dn 0, , 9 , n=0 (一位数)dn-1, , d1 , d0 0, , 9 则该数的值可用下式得出:则该数的值可用下式得出:dn x10n + dn-1 x10n-1 + . + d1 x101 + d0 x1009l例如:例如:l123(10)的值是:的值是: 1 x102 + 2 x101 + 3 x10

8、0 = 100+20+3 = 123用十进制来表示数值的规则用十进制来表示数值的规则 数制及其转换数制及其转换10非非十进制数转换为十进制数十进制数转换为十进制数 数制及其转换数制及其转换 l一个数的二进制表示记为:一个数的二进制表示记为:bnbn-1.b1b0(2)其中:其中:bn = 1, n0 bn 0, 1 , n=0bn-1, , b1 , b0 0, 1 则该数的值可用下式得出:则该数的值可用下式得出:bn x2n + bn-1 x2n-1 + . + b1 x21 + b0 x20l例如,例如,1111011(2)的值是:的值是: 1 x26 + 1 x25 + 1 x24 +

9、1 x23 + 0 x22 + 1 x21 + 1 x20 = 64+32+16+8+0+2+1 = 123l一个数的十进制表示记为:一个数的十进制表示记为:dndn-1.d1d0(10)其中:其中:dn 1, , 9 , n0dn 0, , 9 , n=0dn-1, , d1 , d0 0, , 9 则该数的值可用下式得出:则该数的值可用下式得出:dn x10n + dn-1 x10n-1 + . + d1 x101 + d0 x100l例如,例如,123(10)的值是:的值是: 1 x102 + 2 x101 + 3 x100 = 100+20+3 = 12311用二进制来表示数值的规则用

10、二进制来表示数值的规则 数制及其转换数制及其转换十进制整数转换为二进制十进制整数转换为二进制整数整数l采 用采 用辗 转辗 转相除法相除法。将将123(10)转换成等值的二进制数:转换成等值的二进制数: 除以除以2的商(取整)的商(取整) 余数余数 123/2 = 61 1 61/2 = 30 1 30/2 = 15 0 15/2 = 7 1 7/2 = 3 1 3/2 = 1 1 1/2 = 0 1自下而上地依次将余数加以汇集,即得到自下而上地依次将余数加以汇集,即得到对应的二进制数:对应的二进制数:1111011(2)。12数制及其转换数制及其转换小数呢?小数呢?二进制数与八进制数、十六进

11、制数二进制数与八进制数、十六进制数l将将二进制数转换为二进制数转换为八进制数:八进制数:l从右向左,每三位进行一次转换,即从二从右向左,每三位进行一次转换,即从二进制数的值转换成等值的八进制数字进制数的值转换成等值的八进制数字。反过来怎么转换?反过来怎么转换?13 数数制及其转换制及其转换l例例:转换:转换 1111011(2)l1 111 011(2)= 173(8)l111 1011(2)= 7B(16)l将将二进制数转换二进制数转换为十六进制为十六进制数:数:l从从右向左,每四位进行一次转换,即从二右向左,每四位进行一次转换,即从二进制数的值转换成等值的十六进制数字进制数的值转换成等值的

12、十六进制数字。14 计算机运算基础计算机运算基础计算机中数据的表示计算机中数据的表示计算机是用二进制编码方式工作的,它无法直接理解计算机是用二进制编码方式工作的,它无法直接理解人们日常接触到的信息,需要将信息转化为二进制编人们日常接触到的信息,需要将信息转化为二进制编码的数据,计算机才能进行存储、传输和处理。码的数据,计算机才能进行存储、传输和处理。l机器数:在机器数:在计算机中,按照既定的二进制位数(称为码长),计算机中,按照既定的二进制位数(称为码长),l最左边的那一位(称为符号位)用来表示一个整数的正负号:最左边的那一位(称为符号位)用来表示一个整数的正负号:0 表表示正数,示正数,1

13、表示负数。表示负数。l符号位之后的那些位(称为数值位),用来表示这个整数的绝对值符号位之后的那些位(称为数值位),用来表示这个整数的绝对值。15计算机中数据的表示计算机中数据的表示l真值:一般真值:一般书写中用书写中用“+”、“-”来表示数的符号,这样表示的数来表示数的符号,这样表示的数称为真值。称为真值。16计算机中数据的表示计算机中数据的表示l在在计算机中,数可以有三种不同的二进制表示方法(计算机中,数可以有三种不同的二进制表示方法(差别在于负数之差别在于负数之数值位的表示不同数值位的表示不同):):l原码表示原码表示l反码表示反码表示l补码表示补码表示l在给定码长后,根据一个整数的正负填

14、写符号位,再将这个整数之绝对值的二进制在给定码长后,根据一个整数的正负填写符号位,再将这个整数之绝对值的二进制表示,按照数值位的长度在前面补足必要的表示,按照数值位的长度在前面补足必要的 0 后,就得到这个整数的原码表示。后,就得到这个整数的原码表示。若码长为若码长为 8,则,则 123(10)的原码表示是:的原码表示是: 01111011-123(10)的原码表示是:的原码表示是: 11111011若码长为若码长为 16,则,则 123(10)的原码表示是:的原码表示是: 0000000001111011-123(10)的原码表示是:的原码表示是:17计算机中数据的表示计算机中数据的表示l原

15、码表示的计算公式是:原码表示的计算公式是:l对于整数对于整数 X,设设 X原是它的原码表示,是它的原码表示,n 是码长,则是码长,则 X0 X 2n-1 - 1X原 = 2n-1 + |X|-(2n-1 - 1) X 0l0 有两种原码表示:有两种原码表示:0000000010000000l当当 n = 8,则则 X原的表示范围是的表示范围是 127127 。18计算机中数据的表示计算机中数据的表示l规定:规定:l一个正整数的反码表示与其原码表示相同;一个正整数的反码表示与其原码表示相同;l一个负整数的反码表示:对其原码表示的数值位进行按位变反一个负整数的反码表示:对其原码表示的数值位进行按位

16、变反(按位将(按位将 1 换成换成 0、将、将 0 换成换成 1)的结果。)的结果。l例如(若码长为例如(若码长为 8):):(26)(反) = (26)(原) = 0 0011010(-26)(反)= 11100101 (10011010 11100101)19计算机中数据的表示计算机中数据的表示l反码表示的计算公式是:反码表示的计算公式是:l对于整数对于整数 X,设设 X反是它的反码表示,是它的反码表示,n 是码长,则是码长,则l0 也有两种反码表示:也有两种反码表示:0000000011111111l当当 n = 8,则则 X 反的表示范围是的表示范围是 127127 。 X0 X 2n

17、-1 - 1X反反 = 2n - 1 - |X|-(2n-1 - 1) X 020计算机中数据的表示计算机中数据的表示l如果如果能够在负数的表示上想办法,就有可能在计算机中利用二进能够在负数的表示上想办法,就有可能在计算机中利用二进制加法的部件来实现二进制减法,因为:制加法的部件来实现二进制减法,因为: a - b = a + (-b)l由于乘法可以用加法实现、除法可以用减法实现,因而这是由于乘法可以用加法实现、除法可以用减法实现,因而这是为了用统一的部件来进行二进制数的四则运算。为了用统一的部件来进行二进制数的四则运算。l支持支持这种统一处理的基础,是计算机中数的补码表示。这种统一处理的基础

18、,是计算机中数的补码表示。21计算机中数据的表示计算机中数据的表示l我们先来看一个例子我们先来看一个例子9 9 9 9 9 9 9(汽车上的里程表)(汽车上的里程表)22计算机中数据的表示计算机中数据的表示l我们先来看一个例子我们先来看一个例子9 9 9 9 9 9 9(汽车上的里程表)(汽车上的里程表)00000001 2 323计算机中数据的表示计算机中数据的表示l在这个例子中,当里程表上的数字是在这个例子中,当里程表上的数字是 999999.9 时,再行进时,再行进 0.1 公里,里程表显示的是公里,里程表显示的是 。l如果我们只看整数部分:由于如果我们只看整数部分:由于 999999

19、+ 1 = 000000,(从仪表,(从仪表盘上看到的结果),所以从算术运算的角度看,盘上看到的结果),所以从算术运算的角度看, 这里这里999999 的的作用相当于作用相当于 -1。l这就说明,当限制了数据的表示长度时,要得到一个与正这就说明,当限制了数据的表示长度时,要得到一个与正整数整数k对应的负数表示,可以认为:要得到的那个数加上这个正对应的负数表示,可以认为:要得到的那个数加上这个正整数之后等于整数之后等于 0。我们称之为求补。我们称之为求补。l在上面的例子中,要得到在上面的例子中,要得到 1 的负数表示的负数表示 -1,就是看哪个数加,就是看哪个数加上上 1 后等于后等于 0。l这

20、个数便是这个数便是 999999。24Why?计算机中数据的表示计算机中数据的表示l回到给定码长的二进制表示上来:回到给定码长的二进制表示上来:例如,当码长为例如,当码长为 8(即数值位数为(即数值位数为 7),则),则 26(10) = 0011010那么,要得到那么,要得到 -26(10),就是求一个二进制数,就是求一个二进制数 c:使得:使得: c + 0011010 = 0000000这样的这样的 c 就是就是 | -26(10)| 的二进制表示:的二进制表示: 1100110因为:因为: 1100110+)0011010 0000000进位进位被丢弃被丢弃25计算机中数据的表示计算机

21、中数据的表示l规定:规定:l一个正整数的补码表示与它的原码表示相同;一个正整数的补码表示与它的原码表示相同;l一个负整数的补码表示:符号位为一个负整数的补码表示:符号位为 1,数值位是其绝对值的求补结果。,数值位是其绝对值的求补结果。l对于一个负整数,怎样求它的补码表示?对于一个负整数,怎样求它的补码表示?l一条简单规则:对其原码表示的数值位按位变反后加一条简单规则:对其原码表示的数值位按位变反后加 1。l例:当码长为例:当码长为 8,求,求 -26(10)的补码表示的补码表示(11100110):l原码表示是:原码表示是:10011010l按位变反后:按位变反后:11100101l加加 1

22、后得到:后得到:11100110,即得到其补码表示。,即得到其补码表示。26计算机中数据的表示计算机中数据的表示l补码表示的计算公式是:补码表示的计算公式是:l对于整数对于整数 X,设设 X补是它的补码表示,是它的补码表示,n 是码长,则是码长,则l0 只有一种补码表示:只有一种补码表示:00000000l当当 n = 8,则则 X补的表示范围是的表示范围是 -128,127 。 X0 X 2n-1 - 1X补补 = 2n - |X|-2n-1 X 027计算机中数据的表示计算机中数据的表示l计算机中常用的数据表示格式有两种,一是定点格式,二是浮点计算机中常用的数据表示格式有两种,一是定点格式

23、,二是浮点格式格式。l所谓所谓定点数和浮点数,是指在计算机中一个数的小数点的位定点数和浮点数,是指在计算机中一个数的小数点的位置是固定的还是浮动置是固定的还是浮动的的。l采用定点数表示法的计算机称为定点计算机,采用浮点数表示法的计算机称为浮点计算机。28计算机中数据的表示计算机中数据的表示数值数据的表示数值数据的表示l假设用一个n位字来表示一个定点数x= x0 x1 x2 xn-1,其中一位x0用来表示数的符号位,其余位数代表它的量值。29计算机中数据的表示计算机中数据的表示定点数表示定点数表示lS为尾数的符号位,放在最高一位;E为阶码,紧跟在符号位之后,占m位;M为尾数,放在低位部分,占n位

24、。30计算机中数据的表示计算机中数据的表示浮点数表示浮点数表示l非数值数据,通常指的是字符、字符串、图形符号、汉字等非数值数据,通常指的是字符、字符串、图形符号、汉字等数据,它们并不用来表示数值的大小,一般情况下也不对它数据,它们并不用来表示数值的大小,一般情况下也不对它们进行算术运算。们进行算术运算。31计算机中数据的表示计算机中数据的表示非数值数据的表示非数值数据的表示l一种常用的标准表示是一种常用的标准表示是 ASCII(American Standard Code for Information Interchange)码。码。lASCII 码用一个字节来表示一个符号或字母。这个字节的

25、码用一个字节来表示一个符号或字母。这个字节的二进制表示本身是一个数,称为对应的码值。二进制表示本身是一个数,称为对应的码值。l常规常规 ASCII 码将这个字节的最高位(从左边数第一位)用做奇偶校验,码将这个字节的最高位(从左边数第一位)用做奇偶校验,其他其他 7 位可以表示位可以表示 128 种符号和字母。种符号和字母。l扩展扩展 ASCII 码将这个字节全部用来表示,因此可表示码将这个字节全部用来表示,因此可表示 256 种符号种符号和字母,其中前和字母,其中前 128 种与常规种与常规 ASCII 码相同。码相同。l目前常用的是扩展目前常用的是扩展 ASCII 码。码。32计算机中数据的

26、表示计算机中数据的表示l从计算机键盘输入的字母、数字和符号,都被自动转换成对应的从计算机键盘输入的字母、数字和符号,都被自动转换成对应的 ASCII 码值。例如码值。例如(采用扩展(采用扩展 ASCII 码)码):l字母字母 R:01010010(2),即即 82(10) 或或 52(16)l字母字母 r :01110010(2),即即 114(10) 或或 72(16)l数字数字 3:00110011(2),即即 51(10) 或或 33(16)l符号符号%:00100101(2),即即 37(10) 或或 25(16)33计算机中数据的表示计算机中数据的表示l汉字的种类远比汉字的种类远比

27、256 种多,何况也不能占用种多,何况也不能占用 ASCII 码已经使用的码值。码已经使用的码值。目前采用两个字节来表示一个汉字。目前采用两个字节来表示一个汉字。l汉字的编码规则还没有统一。在我国大陆采用的标准是汉字的编码规则还没有统一。在我国大陆采用的标准是GB2312。l国内的计算机都支持汉字输入与输出,用户可用多种方法输入汉国内的计算机都支持汉字输入与输出,用户可用多种方法输入汉字(如拼音、五笔字形等)。字(如拼音、五笔字形等)。l国际组织已经制定了一种国际组织已经制定了一种 Unicode 标准标准,也是采用两个字节来表示一个也是采用两个字节来表示一个数字、字母、符号或文字,并为中文、

28、日文等都分配了相应的码段(码数字、字母、符号或文字,并为中文、日文等都分配了相应的码段(码值连续的区间),以实现各种文字的国际交流。值连续的区间),以实现各种文字的国际交流。34计算机中数据的表示计算机中数据的表示35 计算机运算基础计算机运算基础数据运算与数据存储数据运算与数据存储数据存储与数据运算是计算机的基本功能。数据在计算数据存储与数据运算是计算机的基本功能。数据在计算机中以器件的物理状态表示,采用二进制数字系统,计机中以器件的物理状态表示,采用二进制数字系统,计算机处理所有的字符或符号也要用二进制编码来表示。算机处理所有的字符或符号也要用二进制编码来表示。计算机中二进制数的四则运算计

29、算机中二进制数的四则运算l仿照十进制数的运算规则,可以做二进制数的加法。仿照十进制数的运算规则,可以做二进制数的加法。l用计算机做二进制数的减法:用计算机做二进制数的减法:l?l用计算机做二进制数的乘法:用计算机做二进制数的乘法:l把被乘数累加乘数那么多次即可(例:把被乘数累加乘数那么多次即可(例:2*3=2+2+2)。)。l用计算机做二进制数的除法:用计算机做二进制数的除法:l反复在被除数中减去除数、直到小于除数,减的次数即为商,剩下为反复在被除数中减去除数、直到小于除数,减的次数即为商,剩下为余数(例:余数(例:7/3,7-3-3=1,商为,商为2,余数为,余数为1)。)。 11100+)

30、 110111 101001116+8+4=2832+16+4+2+1=5564+16+2+1=8336数据运算与数据存储数据运算与数据存储l已经证明,对于数已经证明,对于数 X 和和 Y,l(X+Y)(补)= X(补)+Y(补),(X-Y)(补)= X(补)+(-Y)(补)l两个数相加减,只需进行包括符号位在内的补码相加:两个数相加减,只需进行包括符号位在内的补码相加: (-27)(补)= 11100101 (10011011 11100100 11100101) (-1)(补) = 11111111 (10000001 11111110 11111111)(-26)(补) = 111001

31、10 (10011010 11100101 11100110) (-25)(补)= 11100111 (10011001 11100110 11100111)26 - 27 = -1 00011010+)11100101 1111111126 - 26 = 0 00011010+)11100110 0000000026 - 25 = 1 00011010+)11100111 0000000137数据运算与数据存储数据运算与数据存储l注意,当运算结果的绝对值超过了数值位的表示范围时,可能出注意,当运算结果的绝对值超过了数值位的表示范围时,可能出现溢出现溢出(overflow)。例如:例如: (100)(补) = 01100100 (-100)(补)= 10011100 (11100100 10011011 10011100)(-100) - 100 10011100+)10011100 00111000100+100 01100100+)01100100 11001000溢出溢出38数据运算与数据存储数据运算与数据存储数据数据运算运算l算术运算:当两个二进制数码表示两个数量大小时,它们之间可算术运算:当两个二

温馨提示

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

评论

0/150

提交评论