版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学导论第2章计算机运算基础
计算机运算基础计算机科学导论23计算机运算基础计算机科学导论数制及其转换数制是数的进位计数制,是用一组固定的数码和一套统一的规则来表示数值的方法。在日常生活中通常用十进制来计数。在计算机内部,一切信息的存取、处理和传输均采用二进制计数,为了书写与表示方便,还引入了八进制计数和十六进制计数。在日常生活中会遇到不同进制的数,如十进制数,逢10进1;一周有七天,逢7进1。而计算机中用的是二进制数,逢2进1。无论哪种数制,其共同之处都是进位计数制。计算机科学导论4
数制及其转换进位计数制各种数制的共同特点是:数制规定了每位数上可能有的数码的个数,以及同一个数码处于不同位置表示不同的值。这就是数制中除数码外最重要的两个概念,即基数(radix)和位权(weight)。基数(radix):基数是数制所使用数码的个数。计算机科学导论5进位计数制数码是数制中表示基本数值大小的不同数字符号。例如,十进制有10个数码:0、1、2、3、4、5、6、7、8、9。位权(weight)。一个数码处在不同位置上所代表的值不同。每个数码所表示的数值等于该数码乘以一个与数码所在位置相关的常数,这个常数叫做位权。
数制及其转换计算机科学导论6计算机中常用的数制十进制(Decimal)。使用0、1、2、3、4、5、6、7、8、9共10个数码来描述,基数为10,计数规则是逢10进1。二进制(Binary)。基数是2,只有两个数码,即0和1,计数规则是逢2进1。八进制(Octal)。基数是8,即由0、1、2、3、4、5、6、7共8个数码组成,逢8进1。十六进制(Hexadecimal)。基数是16,数码是0、l、2、3、4、5、6、7、8、9、A、B、C、D、E、F。计数规则是逢16进1。
数制及其转换计算机科学导论7
数制及其转换十进制与二进制、八进制、十六进制对应关系十进制二进制八进制十六进制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F(1)在技术上容易实现。(2)运算规则简单。(3)可靠性高。计算机科学导论8
数制及其转换计算机采用二进制的原因采用二进制后用电路的两个状态---开关来表示二进制数,数码的存储和传输简单、可靠。位数较多,使用不便;不合人们的习惯,输入时将十进制转换成二进制,运算结果输出时再转换成十进制数。一个数的十进制表示记为:
dndn-1...d1d0(10) 其中:
dn
∈{1,…,9},n>0 (多位数) dn
∈{0,…,9},n=0(一位数) dn-1,…,d1,d0∈{0,…,9}则该数的值可用下式得出:
dnx10n+dn-1
x10n-1+...+d1x101+d0
x100计算机科学导论9例如:123(10)的值是:1x102+2x101+3x100=100+20+3=123用十进制来表示数值的规则
数制及其转换计算机科学导论10非十进制数转换为十进制数
数制及其转换
一个数的二进制表示记为:
bnbn-1...b1b0(2) 其中:
bn=1,n>0 bn
∈{0,1},n=0 bn-1,…,b1,b0∈{0,1}则该数的值可用下式得出:
bnx2n+bn-1
x2n-1+...+b1x21+b0x20例如,(2)的值是:1x26+1x25+1x24+1x23+0x22+1x21+1x20=64+32+16+8+0+2+1=123一个数的十进制表示记为:
dndn-1...d1d0(10) 其中:
dn
∈{1,…,9},n>0 dn
∈{0,…,9},n=0 dn-1,…,d1,d0∈{0,…,9}则该数的值可用下式得出:
dnx10n+dn-1
x10n-1+...+d1x101+d0x100例如,123(10)的值是:1x102+2x101+3x100=100+20+3=123计算机科学导论11用二进制来表示数值的规则
数制及其转换十进制整数转换为二进制整数采用辗转相除法。将123(10)转换成等值的二进制数:
除以2的商(取整)
余数
123/2=611 61/2=30130/2=15015/2=717/2=313/2=111/2=01自下而上地依次将余数加以汇集,即得到对应的二进制数:(2)。计算机科学导论12数制及其转换小数呢?二进制数与八进制数、十六进制数将二进制数转换为八进制数:从右向左,每三位进行一次转换,即从二进制数的值转换成等值的八进制数字。反过来怎么转换?计算机科学导论13
数制及其转换例:转换(2)1111011(2)=173(8)1111011(2)=7B(16)将二进制数转换为十六进制数:从右向左,每四位进行一次转换,即从二进制数的值转换成等值的十六进制数字。14计算机运算基础计算机科学导论计算机中数据的表示计算机是用二进制编码方式工作的,它无法直接理解人们日常接触到的信息,需要将信息转化为二进制编码的数据,计算机才能进行存储、传输和处理。数的机器码表示机器数:在计算机中,按照既定的二进制位数(称为码长),最左边的那一位(称为符号位)用来表示一个整数的正负号:0表示正数,1表示负数。符号位之后的那些位(称为数值位),用来表示这个整数的绝对值。计算机科学导论15计算机中数据的表示真值:一般书写中用“+”、“-”来表示数的符号,这样表示的数称为真值。数在计算机中的表示计算机科学导论16计算机中数据的表示在计算机中,数可以有三种不同的二进制表示方法(差别在于负数之数值位的表示不同):原码表示反码表示补码表示原码表示在给定码长后,根据一个整数的正负填写符号位,再将这个整数之绝对值的二进制表示,按照数值位的长度在前面补足必要的0后,就得到这个整数的原码表示。若码长为8,则123(10)的原码表示是:
0-123(10)的原码表示是:
1若码长为16,则123(10)的原码表示是:
01011-123(10)的原码表示是:
11011计算机科学导论17计算机中数据的表示原码表示的计算公式是:对于整数X,设[X]原是它的原码表示,n是码长,则
X 0≤X≤2n-1-1[X]原=2n-1+|X| -(2n-1-1)≤X≤00有两种原码表示:当n=8,则[X]原的表示范围是–127~127。计算机科学导论18计算机中数据的表示反码表示规定:一个正整数的反码表示与其原码表示相同;一个负整数的反码表示:对其原码表示的数值位进行按位变反(按位将1换成0、将0换成1)的结果。例如(若码长为8): (26)(反)=
(26)(原)=
00011010 (-26)(反)=
(10011010→11100101)计算机科学导论19计算机中数据的表示反码表示的计算公式是:对于整数X,设[X]反是它的反码表示,n是码长,则0也有两种反码表示:当n=8,则[X]反的表示范围是–127~127。
X 0≤X≤2n-1-1[X]反=2n-1-|X| -(2n-1-1)
≤
X≤
0计算机科学导论20计算机中数据的表示补码表示如果能够在负数的表示上想办法,就有可能在计算机中利用二进制加法的部件来实现二进制减法,因为:
a-b=a+(-b)由于乘法可以用加法实现、除法可以用减法实现,因而这是为了用统一的部件来进行二进制数的四则运算。支持这种统一处理的基础,是计算机中数的补码表示。计算机科学导论21计算机中数据的表示我们先来看一个例子9999999(汽车上的里程表)计算机科学导论22计算机中数据的表示我们先来看一个例子9999999(汽车上的里程表)0000000123计算机科学导论23计算机中数据的表示在这个例子中,当里程表上的数字是999999.9时,再行进0.1公里,里程表显示的是000000.0。如果我们只看整数部分:由于999999+1=000000,(从仪表盘上看到的结果),所以从算术运算的角度看,这里999999的作用相当于-1。这就说明,当限制了数据的表示长度时,要得到一个与正整数k对应的负数表示,可以认为:要得到的那个数加上这个正整数之后等于0。我们称之为求补。在上面的例子中,要得到1的负数表示-1,就是看哪个数加上1后等于0。这个数便是999999。计算机科学导论24Why?计算机中数据的表示回到给定码长的二进制表示上来:例如,当码长为8(即数值位数为7),则26(10)=0011010那么,要得到-26(10),就是求一个二进制数c:使得:
c+0011010=0000000这样的c就是|-26(10)|的二进制表示:
因为:
1100110+)0011010
进位被丢弃计算机科学导论25计算机中数据的表示补码表示规定:一个正整数的补码表示与它的原码表示相同;一个负整数的补码表示:符号位为1,数值位是其绝对值的求补结果。对于一个负整数,怎样求它的补码表示?一条简单规则:对其原码表示的数值位按位变反后加1。例:当码长为8,求-26(10)的补码表示(11100110):原码表示是:按位变反后:加1
后得到:,即得到其补码表示。计算机科学导论26计算机中数据的表示补码表示的计算公式是:对于整数X,设[X]补是它的补码表示,n是码长,则0只有一种补码表示:当n=8,则[X]补的表示范围是[-128,127]。
X 0≤X≤2n-1-1[X]补=2n-|X| -2n-1
≤X〈0计算机科学导论27计算机中数据的表示计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式。所谓定点数和浮点数,是指在计算机中一个数的小数点的位置是固定的还是浮动的。采用定点数表示法的计算机称为定点计算机,采用浮点数表示法的计算机称为浮点计算机。计算机科学导论28计算机中数据的表示数值数据的表示假设用一个n位字来表示一个定点数x=x0x1x2…xn-1,其中一位x0用来表示数的符号位,其余位数代表它的量值。计算机科学导论29计算机中数据的表示定点数表示S为尾数的符号位,放在最高一位;E为阶码,紧跟在符号位之后,占m位;M为尾数,放在低位部分,占n位。计算机科学导论30计算机中数据的表示浮点数表示非数值数据,通常指的是字符、字符串、图形符号、汉字等数据,它们并不用来表示数值的大小,一般情况下也不对它们进行算术运算。计算机科学导论31计算机中数据的表示非数值数据的表示在计算机中怎样表示符号和英文字母?一种常用的标准表示是ASCII(AmericanStandardCodeforInformationInterchange)码。ASCII码用一个字节来表示一个符号或字母。这个字节的二进制表示本身是一个数,称为对应的码值。常规ASCII码将这个字节的最高位(从左边数第一位)用做奇偶校验,其他7位可以表示128种符号和字母。扩展ASCII码将这个字节全部用来表示,因此可表示256种符号和字母,其中前128种与常规ASCII码相同。目前常用的是扩展ASCII码。计算机科学导论32计算机中数据的表示在计算机中怎样表示符号和英文字母?从计算机键盘输入的字母、数字和符号,都被自动转换成对应的ASCII码值。例如(采用扩展ASCII码):字母R:(2),即82(10)或52(16)字母
r:(2),即114(10)或72(16)数字3:(2),即51(10)或33(16)符号%:(2),即37(10)或25(16)计算机科学导论33计算机中数据的表示在计算机中怎样表示汉字?汉字的种类远比256种多,何况也不能占用ASCII码已经使用的码值。目前采用两个字节来表示一个汉字。汉字的编码规则还没有统一。在我国大陆采用的标准是GB2312。国内的计算机都支持汉字输入与输出,用户可用多种方法输入汉字(如拼音、五笔字形等)。国际组织已经制定了一种Unicode标准,也是采用两个字节来表示一个数字、字母、符号或文字,并为中文、日文等都分配了相应的码段(码值连续的区间),以实现各种文字的国际交流。计算机科学导论34计算机中数据的表示35计算机运算基础计算机科学导论数据运算与数据存储数据存储与数据运算是计算机的基本功能。数据在计算机中以器件的物理状态表示,采用二进制数字系统,计算机处理所有的字符或符号也要用二进制编码来表示。计算机中二进制数的四则运算仿照十进制数的运算规则,可以做二进制数的加法。用计算机做二进制数的减法:?用计算机做二进制数的乘法:把被乘数累加乘数那么多次即可(例:2*3=2+2+2)。用计算机做二进制数的除法:反复在被除数中减去除数、直到小于除数,减的次数即为商,剩下为余数(例:7/3,7-3-3=1,商为2,余数为1)。
11100+)
110111
16+8+4=2832+16+4+2+1=5564+16+2+1=83 计算机科学导论36数据运算与数据存储补码运算规则已经证明,对于数X和
Y,(X+Y)(补)=X(补)+Y(补),(X-Y)(补)=X(补)+(-Y)(补)两个数相加减,只需进行包括符号位在内的补码相加:
(-27)(补)=
(10011011→11100100→11100101)
(-1)(补)=
(10000001→11111110→11111111) (-26)(补)=
(10011010→11100101→11100110)
(-25)(补)=
11100111
(10011001→11100110→11100111)26-27=-1
+)11100101
26-26=0
+)11100110
26-25=1
+)11100111
计算机科学导论37数据运算与数据存储溢出注意,当运算结果的绝对值超过了数值位的表示范围时,可能出现溢出(overflow)。例如:
(100)(补)=
(-100)(补)=
(11100100→10011011→10011100)(-100)-100
+)10011100
100+100
+)0110010011001000溢出计算机科学导论38数据运算与数据存储数据运算算术运算:当两个二进制数码表示两个数量大小时,它们之间可以进行数值运算,这种运算称为算术运算二值逻辑:只有两种对立状态的逻辑关系逻辑运算:当两个二进制数码表示不同的逻辑状态进行的运算计算机科学导论39数据运算与数据存储逻辑运算利用逻辑运算可以进行两个数的比较,或者从某个数中选取某几位等操作。计算机中的逻辑运算主要包括逻辑非、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季开学高中军训班队列训练课件
- 2026年秋季开学幼儿园中秋节主题班会课件
- 2026年秋季开学大学开学第一课(环保行动)课件
- 2026秋部编版四年级上册语文第二单元单元培优卷(B卷)
- 端到端可见性与协同规划提升供应链韧性的研究
- 发展新质生产力促进高质量发展研究
- 专业选择与学校选择决策研究
- 基于产业协同平台的制造业集群供应链抗震能力提升机制实证研究
- 2026 年静脉治疗护理质控要点及督查标准
- 2026年法律实务冲刺押题试卷
- 2026届高考化学一轮复习 基于2025课标修订的探讨与落实
- 凤凰机器人课件
- JJG(交通) 086-2007 后插式路面弯沉自动测试仪
- 建筑工程安全操作规程汇编
- GB/T 12221-2025金属阀门结构长度
- 洗衣工厂岗位职责及管理手册
- 钢丝网骨架复合管专项施工方案
- 视频拍摄制作合同
- GB/T 222-2025钢及合金成品化学成分允许偏差
- 2025年安徽省阜阳市辅警招聘考试题库及答案
- 2025年卫生高级职称面审答辩(卫生管理)历年参考题库含答案详解
评论
0/150
提交评论