第02讲 计算机中的数的表示及运算
- 格式:doc
- 大小:55.50 KB
- 文档页数:3
计算机中信息的表示及其运算随着科技的不断发展,计算机已经成为了现代社会不可或缺的一部分。
计算机的核心是信息的处理,而信息的表示和运算是计算机能够执行各种任务的关键。
本文将探讨计算机中信息的表示以及相关的运算方法。
一、信息的表示计算机中的信息通常以二进制的形式表示。
二进制是一种只包含0和1两个数字的系统,被广泛应用于计算机领域。
在二进制系统中,每一个位被称为一个比特(bit),8个比特被称为一个字节(byte)。
在计算机中,各种数据(如数字、文字、图像等)都被转化为二进制的形式进行存储和处理。
例如,十进制数23在计算机中表示为00010111,字母"A"被表示为01000001。
不同的信息需要不同的编码方式,常用的编码方式包括ASCII码和Unicode码。
ASCII码是一种用于表示字符的标准编码系统,它使用7位或8位的二进制数来表示128个字符。
每个字符都对应一个唯一的ASCII码值,如大写字母"A"对应的ASCII码值是65。
Unicode码是一种广泛使用的字符编码标准,它包含了世界上几乎所有的字符,包括不同语言的字符、符号和表情等。
Unicode码使用16位或32位的二进制数来编码字符,使得不同国家和地区的计算机能够互相识别和显示不同字符。
除了文字信息,计算机中的图像、音频和视频等多媒体信息也需要特定的表示方式。
图像通常使用像素来表示,每个像素都包含了颜色值和位置信息。
音频和视频则使用采样和编码等技术进行表示,将连续的声音和图像转化为数字信号进行存储和处理。
二、信息的运算信息的运算是计算机中最基本的操作之一。
计算机能够对存储在内存中的信息进行各种逻辑和算术运算,以实现不同的功能。
1. 逻辑运算逻辑运算是计算机中最基础的运算方式,它通常用于对布尔值(true或false)进行操作。
常见的逻辑运算符包括与(AND)、或(OR)和非(NOT)。
例如,两个布尔值A和B进行与运算,结果为真(true)仅当A和B都为真;进行或运算,结果为真(true)仅当A和B中至少有一个为真;进行非运算,结果为真(true)仅当A为假(false)。
. . . .参考.学习第1章 计算机系统基础1.1 计算机中数据的表示和计算1.1.1 目标与要求通过本节学习掌握如下内容:• 掌握计算机中的常用数制,掌握十进制、二进制、八进制和十六进制之间相互转换的方法。
• 理解数据的机内表示方法,掌握原码、反码、补码、移码等码制及其特点。
• 掌握基本的算术和逻辑运算。
• 理解常用校验码的原理和特点,了解海明码、循环冗余码的编码方法和校验方法,掌握奇偶校验的原理和方法。
本节为基础内容,但是在历次考试中也是必考内容。
题目集中在上午的选择题部分。
考生对这一部分的复习应该达到熟练程度。
对于进制转换、几种码制的表示方式、其优缺点和不同码制的计算应熟练掌握,切忌在考场上为计算基本的转换而浪费宝贵的时间。
计算机中的数据是采用二进制表示的。
计算机中的数据按照基本用途可以分为两类:数值型数据和非数值数据。
数值型数据表示具体的数量,有正负大小之分。
非数值数据主要包括字符、声音、图像等,这类数据在计算机中存储和处理前需要以特定的编码方式转换为二进制表示形式。
1.1.2 数制及其转换1.数制r 进制即r 进位制,r 进制数N 写为按权展开的多项式之和为:1ki r i i m N D r -=-=⨯∑ 其中,i D 是该数制采用的基本数符号,r i 是权,r 是基数。
例如:十进制数123456.7可以表示为:123456.7=1⨯105+2⨯104+3⨯103+4⨯102+5⨯101+6⨯100+7⨯10–1计算机中常用的记数制是二进制、八进制、十六进制。
2网络管理员考前辅导2.数制转换数制间转换是计算机从业人员必须具备的最基本的技能之一,也是每次《计算机技术与软件专业资格(水平)考试大纲中》要求掌握的技能。
请各位考生予以重视。
(1)十进制与二进制、八进制、十六进制相互转换算法:将十进制整数部分除以r取余,将十进制小数部分乘以r取整,将两部分合并。
下面举例说明算法。
例:将十进制数(347.625)10转化为二进制数。
计算机中数的表示及运算张晓军编写引言人类在文字出现以前,就已经会用道具(如绳子打结)计数了.在日常生活中,我们每天都在与数字打交道,而数字与数制是密不可分的.比如:60秒为1分,60分为1小时,其特点是"逢60进1",可取的数字是0,1,2,...,59,共有60个,这就是"六十进制".再比如:24小时为1天,这是24进制;7天为1星期,这是7进制;12个为1打,这是12进制;10mm为1cm,10cm为1dm,10dm为1m,这是我们最为熟悉的10进制.不管是什么进制,其基数(如60进制的基数就是60,10进制的基数就是10)正好等于该数制中不同"数字符号"的个数(如60进制中采用0,1,2,...,59共60个不同的数字符号,10进制中采用0,1,2,...,9共10个不同的数字符号).一、常用数制及其相互转换在数制系统中,各位数字所表示的值不仅与该数字有关,而且与它所在的位置有关.例如,在10进制数123中,百位上的1表示1个100,十位上的2表示2个10,个位上的3表示3个1,因此,有:123=1*100+2*10+3*1,其中100,10,1被称为百位、十位、个位的权。
十进制中,个、十、百、千、万……等各数位的权分别是1,10,100,1000,10000,……,一般地,写成10的幂,就是100,101,102,103,104,……;10则被称为十进制的基数1.1 十进制数特点:采用0,1,2,3,4,5,6,7,8,9共10个不同的数字符号,并且是"逢十进一,借一当十".对于任意一个十进制数,都可以表示成按权展开的多项式。
例如:1999=1*103+9*102+9*101+9*1002003=2*103+0*102+0*101+3*10048.25=4*101+8*100+2*10-1+5*10-21.2 二进制数在电子计算机中采用的是二进制.二进制数只需2个不同的数字符号:0和1,并且是"逢二进一,借一当二",它的基数是2.对于二进制数,其整数部分各数位的权,从最低位开始依次是1,2,4,8,……写成2的幂,就是20,21,22,23,……;其小数部分各数位的权,从最高位开始依次是0.5,0.25,0.125,……,写成2的幂,就是2-1,2-2,2-3,…….对于任意一个二进制数,也都可以表示成按权展开的多项式。
计算机中的数在我们日常使用计算机的过程中,数是一个无处不在却又常常被我们忽略的重要元素。
从简单的计算到复杂的程序运行,数都扮演着至关重要的角色。
那么,计算机中的数到底是怎么一回事呢?首先,我们要明白计算机处理的数是用二进制来表示的。
这是因为计算机的硬件结构决定了它只能识别两种状态,即“开”和“关”,或者说“0”和“1”。
通过将各种信息转化为二进制的数字序列,计算机才能够进行存储、处理和传输。
比如说,我们常见的整数在计算机中就是以二进制的形式存在的。
以十进制的 5 为例,转化为二进制就是 101 。
计算机在处理这个数字时,就是按照这一串 0 和 1 来进行运算和操作的。
除了整数,还有小数在计算机中的表示。
这就涉及到了浮点数的概念。
浮点数是一种用来表示实数的方法,它可以表示带有小数部分的数字。
但由于计算机的存储空间有限,浮点数的表示存在一定的精度限制。
这就可能导致在一些计算中出现微小的误差。
在计算机中,数还有不同的类型和大小。
比如常见的有 8 位、16 位、32 位和 64 位的整数类型。
位数越多,能够表示的数值范围就越大。
8位的整数可以表示的范围是-128 到 127 ,而 64 位的整数则可以表示非常大的数值。
不仅如此,计算机中的数还有有符号数和无符号数之分。
有符号数可以表示正数、负数和零,而无符号数则只能表示非负的整数。
在实际的编程和应用中,我们需要根据具体的需求来选择合适的数据类型。
如果选择不当,可能会导致数据溢出、精度丢失等问题。
比如,如果要存储一个很大的整数,但选择了一个位数较小的数据类型,就可能出现数据溢出的错误。
另外,计算机中的数在进行运算时也有其特殊的规则。
二进制的加法、减法、乘法和除法都有相应的运算方法。
而且,在进行不同类型的数的运算时,还需要进行类型转换,以确保结果的准确性。
再来说说计算机中的数的存储方式。
除了在内存中的存储,还有在硬盘、光盘等外部存储设备中的存储。
在这些存储介质中,数也是以二进制的形式被保存的,但存储的方式和格式可能会有所不同。
考点1.1 计算机中数据的表示及运算一. 机器数和码制原码、反码、补码具体概念我就不重复了,只重申下相关结论:a.正数的原码、反码、补码都相同。
b.负数的反码为原码的按位取反(保持符号位不变),补码为反码加1。
二.存储单元中的数据(存储单元包括存储器中的存储单元和寄存器)在计算机的存储器的存储单元中的数据均以补码形式存放的,于是在计算机中的数据表示有下面结论:a不使用原码与反码。
但原码与反码可以作为计算真值的中间媒介。
b存储单元中的数据以补码形式存在。
c 数据的存取与运算都以补码形式进行。
d补码就是机器数,机器数就是补码三.定点数与浮点数1. 数的定点表示方法定点数是小数点固定的数。
在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。
一般固定在机器数的最低位之后,或是固定在符号位之后。
前者称为定点纯整数,后者称为定点纯小数。
(1). 定点整数——小数点位置固定在数的最低位之后如:Dn-1 Dn-2 • • • • • • D1 D0.范围:2n-1 -1~ -2n-1 (采用字长n=16位补码时其值为32767 ~ -32768)(2). 定点小数——小数点位置固定在数的符号位之后、数值最高位之前。
如:D0. D-1 • • • • • • D-(n-2) D-(n-1)范围:1 - 2-(n-1) ~ -1(采用字长n=16位时其值为32767/32768 ~ -1)其中n表示字长多少位例1:2. 数的浮点表示方法浮点数:浮点数是指小数点位置不固定的数,它既有整数部分又有小数部分,如123.55、33.789等。
(1). 浮点数的表示:是把字长分成阶码和尾数两部分。
其根据就是:与科学计数法相似,任意一个J进制数N,总可以写成N = J E× M式中M称为数N的尾数(mantissa),是一个纯小数;E为数N的阶码(e x ponent),是一个整数,J称为比例因子J E的底数。
计算机数的表示方法及运算计算机数的表示方法及运算一直是计算机科学和数学领域的重要研究方向。
在计算机科学中,我们需要理解不同的数值表示方法和进行相应的运算,以便正确地处理和处理数据。
本文将介绍一些常见的计算机数的表示方法和运算规则。
一、二进制表示法计算机中最常用的数值表示方法是二进制表示法。
二进制表示法使用两个数字0和1来表示所有数值。
在二进制数中,每个位上的数字称为比特(bit),8个比特组成一个字节(byte)。
例如,二进制数1010表示十进制数10,其中最高位(最左侧)的1表示2^3(8),次高位(右侧第二位)的0表示2^2(4),次低位(右侧第三位)的1表示2^1(2),最低位(最右侧)的0表示2^0(1)。
因此,将这些位相加得到十进制数10。
二、十进制转二进制将十进制数转换为二进制数是十分常见的操作。
我们可以使用除2取余法进行转换。
具体步骤如下:1. 将十进制数不断除以2,直到商为0为止。
2. 将每次得到的余数从下往上排列,得到的二进制数即为所求。
例如,将十进制数73转换为二进制数。
按照上述步骤,我们可以得到以下计算过程:73 ÷ 2 = 36 余 136 ÷ 2 = 18 余 018 ÷ 2 = 9 余 09 ÷ 2 = 4 余 14 ÷ 2 = 2 余 02 ÷ 2 = 1 余 01 ÷2 = 0 余 1将得到的余数从下往上排列,我们可以得到二进制数1001001,即73的二进制表示为1001001。
三、二进制运算在计算机中,我们经常需要对二进制数进行运算,如加法、减法、乘法和除法。
下面将介绍这些运算的基本规则。
1. 二进制加法二进制加法运算规则与十进制加法类似,从低位(最右侧)开始逐位相加,遇到进位则向高位进位。
具体规则如下:0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 0(进位1)例如,进行二进制加法运算时:1011+ 1101-------10100在这个例子中,进位1在最高位产生,因此结果为10100。
计算机数的表示方法及运算计算机数的表示方法和运算是计算机科学中的基础知识,它涉及到计算机中数值的表示方式以及各种运算操作的执行。
在本文中,我们将重点讨论计算机中数的表示方法和运算规则,以帮助读者更好地理解这一概念。
一、计算机中数的表示方法1. 二进制表示法二进制是计算机中最基本的数制,它由两个数字0和1组成。
计算机中的所有数据都以二进制的形式存储和处理。
例如,整数14的二进制表示为00001110,其中最左边的位称为最高有效位(Most Significant Bit,简称MSB),最右边的位称为最低有效位(Least Significant Bit,简称LSB)。
2. 十进制表示法十进制是我们平常生活中最常用的数制。
在计算机中,我们可以使用十进制表示法来表示数值。
例如,整数14的十进制表示为14。
3. 八进制表示法八进制是一种以8为基数的表示方法。
在计算机中,我们可以使用八进制表示法来表示数值。
例如,整数14的八进制表示为16。
4. 十六进制表示法十六进制是一种以16为基数的表示方法。
在计算机中,我们可以使用十六进制表示法来表示数值。
例如,整数14的十六进制表示为0xE。
二、计算机数的运算规则1. 二进制数的运算在计算机中,二进制数的运算规则与十进制数类似。
常见的二进制运算包括加法、减法、乘法和除法。
在进行二进制运算时,需要注意进位和借位的处理。
2. 进制之间的转换在计算机中,我们通常需要在不同进制之间进行转换。
例如,可以将二进制数转换为十进制数,或将十进制数转换为二进制数。
转换的方法可以采用逐位相加或逐位相乘的方式进行。
3. 补码表示法计算机中一般采用补码表示法来表示整数。
补码是指将一个数的正负符号位按位取反,然后加1得到的新数。
例如,整数-1的补码表示为11111111。
4. 浮点数的表示在计算机中,浮点数用于表示带有小数点的数值。
浮点数的表示采用科学计数法,其中包括尾数和指数两部分。
尾数用来表示数的大小,而指数用来表示小数点的位置。
计算机中的数计算机是现代社会中应用广泛的工具,它能够对各种数据进行处理和运算。
而在计算机中,数则是最基本的数据类型之一。
数在计算机中具有重要的作用,不仅可以进行各种数学运算,还可以表示各种现实世界中的数据。
一、数的表示计算机中的数主要以二进制的形式进行表示。
二进制是一种使用0和1来表示数值的进位制系统。
在二进制系统中,每一位上的数值称为一个比特(bit),多个比特组合在一起可以表示更大的数值。
例如,数字5在二进制中表示为101,其中最右边的1代表2^0=1,中间的0代表2^1=0,最左边的1代表2^2=4。
因此,101表示的是5。
除了二进制表示外,计算机还可以使用其他表示方式,如八进制和十六进制。
八进制使用8个不同的数字(0-7)进行表示,十六进制使用16个不同的数字(0-9,A-F)进行表示。
这些表示方式在计算机底层的存储和运算中具有一定的优势,但在人眼中并不直观。
二、整数和浮点数在计算机中,数可以分为整数和浮点数两种类型。
整数是没有小数部分的数值,可以是正数、负数或零。
计算机可以对整数进行基本的加减乘除运算,得到准确的结果。
浮点数则包含了小数部分,用于表示更精确的数值。
由于计算机内部的表示方式是有限的,浮点数的表示存在一定的误差。
这是因为计算机采用了浮点数的标准化表示方法,即采用科学计数法表示浮点数,其中分为尾数和指数两部分。
例如,要表示1.2345这个浮点数,可以使用科学计数法表示为1.2345 * 10^0。
其中1.2345是尾数,10^0是指数。
计算机通过调整指数的大小以及使用固定的位数来表示尾数,从而对浮点数进行存储和运算。
然而,由于尾数的位数是有限的,所以在进行大范围或精度较高的浮点数运算时,可能会产生一定的误差。
三、数的运算计算机中的数可以进行各种基本的数学运算,包括加法、减法、乘法和除法。
这些运算可以在整数和浮点数之间进行,得到准确的结果。
在计算机中,数的运算是通过计算机的中央处理器(CPU)来实现的。
计算机中数据的表示和计算计算机是现代社会中不可或缺的工具,它能够高效地进行数据的表示和计算。
本文将探讨计算机中数据的表示和计算的基本原理及各种常见的表示方式。
一、数据的表示在计算机中,数据以二进制的形式存储和处理。
二进制是由0和1两个数字组成的数字系统,与人们常用的十进制数字系统不同。
计算机通过使用不同的表示方式来表示各种类型的数据,包括整数、浮点数和字符等。
1. 整数表示整数是计算机中最基本的数据类型之一。
计算机使用原码、反码和补码来表示整数。
原码是简单的二进制表示方式,即将整数的绝对值转换为二进制数,符号位用0表示正数,用1表示负数。
反码是在原码的基础上将正数保持不变,负数则将其二进制数取反。
补码是在反码的基础上加1。
补码表示方式可以避免0有两种表示的问题,并且能够方便地进行计算。
2. 浮点数表示浮点数是用于表示带有小数部分的数值。
计算机使用IEEE 754浮点数标准来表示浮点数。
浮点数由符号位、阶码和尾数三部分组成。
符号位表示正负,阶码用于表示指数部分,尾数表示小数部分。
3. 字符表示计算机以ASCII码或Unicode编码来表示字符。
ASCII码使用7位二进制数来表示128个字符,包括数字、字母和特殊符号等。
Unicode 编码则是一种更加全面的字符编码方式,可以表示世界上几乎所有的字符。
二、数据的计算计算机可以对数据进行各种计算操作,包括加法、减法、乘法和除法等。
1. 加法和减法计算机使用逻辑电路来进行加法和减法运算。
加法和减法的原理是将两个数按位进行运算,并根据进位和借位来计算结果。
计算机通过逻辑门电路实现加法器和减法器,从而实现高效的运算。
2. 乘法和除法计算机使用乘法和除法算法来进行乘法和除法运算。
乘法运算可以通过多位乘法器来实现,将两个数按位相乘并相加得到结果。
除法运算可以通过除法器来实现,将被除数不断减去除数直到减不动为止,并记录减的次数即为商。
3. 高级计算除了基本的加减乘除运算,计算机还可以进行更复杂的计算,例如指数运算、对数运算和三角函数等。
第2讲计算机与计算思维(二)
3.补码运算举例
补码运算的基本规则是[X]补+[Y]补=[X+Y]补,下面根据此规律进行计算。
4.计算机中数的浮点表示
一个十进制数可以表示成一个纯小数与一个以10为底的整数次幂的乘积,如135.45可表示为0.13545⨯103。
同理,一个任意二进制数N也可以表示为:
N=2J⨯S
其中,S称为尾数,是二进制纯小数,表示N的有效数位;J称为N的阶码,是二进制整数,指明了小数点的实际位置,改变J的值也就改变了N的小数点的位置。
(二)非数值数据的编码
由于计算机只能识别二进制代码,所以数字、字母、符号等必须以特定的二进制代码来表示,这种方式称为二进制编码。
1.十进制数字的编码
十进制小数转换为二进制数时可能会产生误差,为了精确地存储和运算十进制数,我们可用若干位二进制数来表示一位十进制数,这可称为二进制编码的十进制数,简称二-十进制(Binary Code Decimal,BCD)代码。
2.字母和常用符号的编码
在英语书中用到的字母为52个(大、小写字母各26个),数码10个,数学运算符号和其他标点符号等约32个,再加上用于控制打印机等外围设备的控制字符,共计128个符号。
对128个符号编码需要7位二进制数,且可以有不同的排列方式,即不同的编码方案。
其中美国标准信息交换码(American Standard Code for Information Interchange,ASCII)是使用最广泛的字符编码方案。
在7位ASCII 代码之前再增加一位用作校验位,形成8位编码。
3.汉字编码
依据汉字处理阶段的不同,汉字编码可分为输入码、显示字形码、机内码和交换码。
计算机中如何表示数字-01机器数与真值机器数就是数值在计算机中的表示形式,真值则是它在现实中的实际数值。
可以这样简单的理解。
因为计算机只能直接识别和处理用0、1两种状态的二进制形式的数据,所以在计算机中无法按人们的日常书写习惯用正、负符号加绝对值来表示数值,而与数字一样采用二进制代码0和1来表示正、负号。
这样在计算机中表示带符号的数值数据时,符号和数均采用了0、1进行了代码化。
这种采用二进制表示形式,连同正负符号一起代码化的数据,称为机器数或者机器码(即,数值在计算机中的二进制表示形式)。
与机器数对应,用正、负符号加绝对值来表示的实际数值称为真值。
根据约定机器数是否存在符号位,机器数可以分为无符号数和带符号数。
无符号数是指计算机字长的所有二进制位均表示数值。
带符号数是指机器数分为符号位和数值两部分,且均采用二进制表示。
一般约定最高位表示符号。
例1-1: 10011001作为无符号定点整数时,真值是153;作为带符号定点整数时,第一位是符号位,1代表负号,二进制数10011001的真值是-0011001,转化成十进制是-25。
对于带符号数,根据小数点位置固定与否,又可以分为定点数和浮点数。
在介绍浮点数之前我们要将注意力完全放在定点数上面,要有点耐心,对定点数的理解程度决定了我们对浮点数的理解程度,因为可以将浮点数看成是对定点数的一种应用,以后就会明白了。
好了,先看一看什么是定点数。
定点数约定所有数据的小数点位置均是相同且固定不变的。
计算机中通常使用的定点数有定点小数和定点整数两类。
定点小数:对于一个长度为n位的机器数,定点小数约定小数点在符号位和最高数值位之间,如下数符(最高位,占用1位). 尾数(剩余n-1位)小数点只是一个约定,是隐含的,不占用空间。
定点整数:对于一个长度为n位的机器数,定点整数约定小数点在最低数值位之后,如下数符(最高位,占用1位)尾数(剩余n-1位).小数点也是隐含的。
例1-2:下的八位二进制数,我们看看它们所代表的值是多少定点小数:1.1011001 真值=-0.1011001=-0.6953125定点整数:11011001 真值=-1011001=-89真值:127=+1111111 定点整数:01111111真值:-0.125=-0.001 定点小数:1.0010000总结上面的内容,机器数的特点是:1. 符号数值化,0代表正、1代表负。
第二讲计算机中数的表示及运算(序)教学方法: 讲授法
授课时数:2学时
教学目的:
1、理解原码、反码、补码的概念
2、掌握真值、原码、反码及补码间的换算
3、熟悉BCD码和ASCII码
教学重点:
补码的概念及运算
BCD码及ASCII码
教学难点:
补码的运算
教学环节:
组织教学:(3分钟)检查学生人数
复习提问:(2分钟)
原码、反码、补码三者之间有何关系?
讲授新课:(70分钟)
4)补码的运算
当X≥0时,[X]
补= [X]
反
=[X]
原
[ [X]补]补= [X]原
[X]补+ [Y]补= [ X+Y ]补
[ X-Y ]补= [ X+(-Y)]补
例:已知X=52 Y=38 求X-Y
方法1:减法:方法2:加法
X-Y = 52-38 =14 X-Y = [ [ X-Y]补]补= [ [X]补+[-Y]补]补
0 0 1 1 0 1 0 0 =[ [52]补+[ -38]补]补
-)0 0 1 0 0 1 1 0 =[ 14 ]补=14
0 0 0 0 1 1 1 0
[52]补:0 0 1 1 0 1 0 0
[-38]补:+) 1 1 0 1 1 0 1 0
1 0 0 0 0 1 1 1 0
自然丢失
计算机在做算术运算时,必需检查溢出,以防止发生错误5)运算的溢出问题
资料字长(位数)有一定限制,所以资料的表示应有一个范围。
如字长8位时;补码范围-128~+127
若运算结果超出这个范围,便溢出。
例:
[98]补:0 1 1 0 0 0 1 0 [85]补:0 1 0 1 0 1 0 1
[25]补:+)0 0 0 1 1 0 0 1 [47]补:+)0 0 1 0 1 1 1 1
[123]补:0 1 1 1 1 0 1 1 [132]补: 1 0 0 0 0 1 0 0 未溢出0 0 溢出0 1
Cs+1 Cs(未溢出)Cs+1 Cs (溢出)
错:两个正数相加和为负数。
[- 85]补: 1 0 1 0 1 0 1 1 [- 19]补:0 1 0 1 0 1 0 1
[- 47]补:+)1 1 0 1 0 0 0 1 [- 79]补:+)1 0 1 1 0 0 0 1
[- 132]补: 1 0 1 1 1 1 1 0 0 [- 98]补: 1 1 0 0 1 1 1 1 0
溢出 1 0 未溢出 1 1
Cs+1 Cs Cs+1 Cs
错:两个负数相加和为正数。
可见:结果正确(无溢出)时,Cs+1 = Cs
结果错误(溢出)时,Cs+1 ≠ Cs
溢出判断:溢出= Cs+1 Cs(即结果是0为无溢出;1为有溢出)
1、十进制数的编码
对机器:二进制数方便,
对人:二进制数不直观,习惯于十进制数。
在编程过程中,有时需要采用十进制运算,但机器不认识十进制数。
怎么办?
可以将十进制的字符用二进制数进行编码:
00000 9 1001
10001 1010
2 0010 1011
3 0011 1100 未用码
4 0100 1101
5 0101 1110
6 0110 1111
70111
8 1000
这叫做二进制数对十进制编码——BCD码。
上述每4位二进制数表示一个十进制字符,这4位中各位的权依次是:
8、4、2、1——8421 BCD码。
BCD码的运算:
例: 1 8 0 0 0 1 1 0 0 0
+) 3 BCD码相加+)0 0 0 0 0 0 1 1
2 1 0 0 0 1 1 0 1 1
2 B
非BCD码(错)怎么办?
需进行十进制调整:
0 0 0 1 1 0 0 0
+)0 0 0 0 0 0 1 1
0 0 0 1 1 0 1 1 (个位大于9,应进1)
+)0 1 1 0 (加6使进1)
0 0 1 0 0 0 0 1 (结果形如出21)
(1)BCD码加法规则
两个BCD数相加时,“某位”的和小于10则保持不变;
两个BCD数相加时,“某位”的和大于9,则和数应加6修正。
(2)BCD码减法规则
两个BCD数相减时,“某位”的差未发生借位,则差数保持不变;
两个BCD数相减时,“某位”发生了借位,其差应减6修正。
这里“某位”指BCD数中的“个位”、“十位”、“百位”、……
0 1 1 0 0 1 0 1 (65)0 0 1 1 0 1 0 0 (34)
+)1 0 0 1 0 1 1 1 (97)-)0 0 0 1 0 1 0 1 (15)
1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1
+)0 1 1 0 0 1 1 0 (加66调整)-)0 1 1 0 (减6调整)
10 1 1 0 0 0 1 0 (162)0 0 0 1 1 0 0 1 (29)
二、字符信息的表示
计算机能识别0、1、0、1、……;这些0、1、0、1、……有的代表
数值,有的仅代表要处理的信息(如字母、标点符号、数字符号等文字符号),所以,计算机不仅要认识各种数字,还要能识别各种文字符号。
人们事先已对各种文字符号进行二进制数编码:
如,美国信息交换标准码——ASCII码,用一个字节表示一个字符。
低7位是字符的ASCII码值;最高位是通信时的校验位。
见P328
巩固新课:(10分钟)
1、补码的作用?
2 为什么对BCD码要进行十进制调整?
布置作业:(5分钟)P 13 : 5 、6。