计算机中数的表示及运算
- 格式:doc
- 大小:172.00 KB
- 文档页数:13
计算机中信息的表示及其运算随着科技的不断发展,计算机已经成为了现代社会不可或缺的一部分。
计算机的核心是信息的处理,而信息的表示和运算是计算机能够执行各种任务的关键。
本文将探讨计算机中信息的表示以及相关的运算方法。
一、信息的表示计算机中的信息通常以二进制的形式表示。
二进制是一种只包含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) 位位(bit)简写为b,音译为比特,是计算机存储数据的最小单位,是二进制数据中的一个位,一个二进制位只能表示0或1两种状态,要表示更多的信息,就得把多个位组合成一个整体,每增加一位,所能表示的信息量就增加一倍。
(2) 字节字节(Byte)简记为B,规定一个字节为8位,即1Byte = 8bit。
字节是计算机数据处理的基本单位,并主要以字节为单位解释信息。
每个字节由8个二进制位组成。
通常,一个字节可存放一个ASCII码,两个字节存放一个汉字国际码。
(3) 字字(Word)是计算机进行数据处理时,一次存取、加工和传送的数据长度。
一个字通常由一个或若干个字节组成,由于字长是计算机一次所能处理信息的实际位数,所以,它决定了计算机数据处理的速度,是衡量计算机性能的一个重要标识,字长越长,性能越好。
计算机型号不同,其字长是不同的,常用的字长有8位、16位、32位和64位。
计算机存储器容量以字节数来度量,经常使用的度量单位有KB、MB和GB,其中B代表字节。
各度量单位可用字节表示为:【例1-18】一台计算机,内存标注2GB,外存硬盘标注为500GB,则它实际可存储的内外存字节数分别如下:内存容量= 2 × 1024 × 1024 × 1024B硬盘容量= 500 × 1024 × 1024 × 1024B2. 计算机中数的表示在计算机内部,任何信息都以二进制代码表示(即0与1的组合来表示)。
一个数在计算机中的表示形式,称为机器数。
机器数所对应的原来的数值称为真值,由于采用二进制,必须要把符号数字化,通常是用机器数的最高位作为符号位,仅用来表示数符。
计算机中数的表⽰和存储(总结)⼀、⽆符号数和有符号数1.⽆符号数计算机中的数均存放在寄存器中,通常称寄存器的位数为机器字长。
所谓的⽆符号数即没有符号的数,在寄存器中的每⼀位均可⽤来存放数值。
⽽当存放有符号位时,则留出位置存放“符号”。
因此,在机器字长相同时,⽆符号数与有符号数所对应的数值范围是不同的。
以机器字长16位为例⼦,⽆符号数的范围为0~(216-1=65535),⽽有符号数的表⽰范围为(-32768=215)~(+32767=215-1)(此数值对应原码表⽰)。
机器中的有符号数是⽤补码表⽰的。
2.有符号数对于有符号数⽽⾔,符号的正负机器是⽆法识别的,⽽在机器中是⽤0,1分别表⽰正,负的,并规定将它放在有效数字的前⾯,这样就组成了有符号数。
把符号“数字化”的数叫做机器数,⽽把带“+”或“-”符号的数叫做真值。
⼀旦符号数字化后,符号和真值就形成了⼀种新的编码。
有符号数有原码、补码、反码和移码等四种表⽰形式。
2.1 有符号数的编码⽅法-原码表⽰法原码是机器数中最简单的⼀种表⽰形式,其符号位为0表⽰正数,为1表⽰负数,数值位即真值的绝对值,故原码⼜称作带符号位的绝对值表⽰。
整数原码的定义为式中x为真值,n为整数的位数。
例如,当x=-1110时,[x]原=24-(-1110)=11110⼩数的原码定义为例如,当x=-0.1101时,[x]原=1-(-0.1101)=1.1101当x=0时[+0.0000]原=0.0000[-0.0000]原=1-(0.0000)=1.0000可见[+0]原不等于[-0]原,即原码中的零有两种表⽰形式。
原码编码的优缺点其表⽰简单明了,易于和真值转换,但⽤原码进⾏加减运算时,确带来了许多⿇烦。
2.2 有符号数的编码⽅法-补码表⽰法补码利⽤了⽣活中的“补数”的概念,即以某个数为基准,称为模数,该数对模数的取模运算的结果就是补数。
例如,-3=+9(mod12),4=4(mod12)=16(mod12)。
考点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. 加法符号(+):加法符号在计算机中用于表示两个数相加的运算。
例如,2 + 3 = 5。
2. 减法符号(-):减法符号用于表示两个数相减的运算。
例如,5 - 2 = 3。
3. 乘法符号(*):乘法符号用于表示两个数相乘的运算。
例如,2 * 3 = 6。
4. 除法符号(/):除法符号用于表示两个数相除的运算。
例如,6 / 3 = 2。
这些基础计算符号在计算机中被广泛应用,可以满足我们日常的简单数学计算需求。
二、逻辑计算符号1. 等于符号(=):等于符号用于判断两个数是否相等。
例如,2 + 3 = 5中的等于符号表示左边的表达式等于右边的表达式。
2. 大于符号(>):大于符号用于判断一个数是否大于另一个数。
例如,5 > 2中的大于符号表示左边的数大于右边的数。
3. 小于符号(<):小于符号用于判断一个数是否小于另一个数。
例如,2 < 5中的小于符号表示左边的数小于右边的数。
4. 大于等于符号(>=):大于等于符号用于判断一个数是否大于等于另一个数。
例如,5 >= 5中的大于等于符号表示左边的数大于或等于右边的数。
5. 小于等于符号(<=):小于等于符号用于判断一个数是否小于等于另一个数。
例如,2 <= 5中的小于等于符号表示左边的数小于或等于右边的数。
逻辑计算符号常用于程序设计和数据分析等领域,能够帮助我们进行条件判断和逻辑运算。
三、其他计算符号1. 括号符号(()):括号符号在计算机中用于改变计算的优先级。
例如,(2 + 3) * 4表示先计算括号中的表达式,再与4相乘。
2. 百分号符号(%):百分号符号用于表示百分数。
例如,50%表示50的百分之一。
计算机中数据的表示一、计算机中数据的表示方法我们在初一的信息技术课程(第一单元)中已经知道,计算机中的数据都是用二进制来表示的。
这是因为:计算机是一个电器,在计算机中用电路的接通和断开、电压的高和低等类似的两种对立的状态来表示数据是最容易的。
二进制中只有0和1两个数字。
二进制的基本运算规则:0+0=0 ,0+1=1 ,1+0=1 ,1+1=100*0=0 ,0*1=0 ,1*0=0 ,1*1=1二进制和十进制整数的相互转换十进制→二进制方法:除二取余数例:(25)10=(11001)2二进制→十进制方法:乘权求和例:(110101)2=1*25+1*24+0*23+1*22+0*21+1*20=32+16+0+4+0+1=(53)10类似于十进制数按位数展开:如:(486795)10=4*105+8*104+6*103+7*102+9*101+5*100=400000+80000+6000+700+90+5二进制和十进制小数的相互转换十进制→二进制方法:乘二取整数例:(0.35)10≈(0.01011)2二进制→十进制方法:乘权求和不过这个权是负的,也就是倒数例:(0.101101)2=1/21+0/22+1/23+1/24+0/25+1/26=0.5+0+0.125+0.0625+0+0.015625=(0.703125)10在不同进制的转换过程中,一般都要把整数部分和小数部分分别进行转换。
十进制数转换为二进制数后,往往会变得很长,为了解决这一问题,我们在计算机中引入了八进制数和十六进制数。
十六进制数中除了使用数字0-9以外,还要使用大写英文字母A-F分别对应十进制数的10-15。
八进制数中的每一位数字可以转换为三位二进制数字,十六进制数中的每一位数字可以转换为四位二进制数字。
二、计算机中的机器码在计算机中,参加运算的数有正与负之分,数的符号也是用二进制来表示的。
用二进制表示带符号的数称为机器码。
计算机数的表示方法及运算计算机数的表示方法和运算是计算机科学中的基础知识,它涉及到计算机中数值的表示方式以及各种运算操作的执行。
在本文中,我们将重点讨论计算机中数的表示方法和运算规则,以帮助读者更好地理解这一概念。
一、计算机中数的表示方法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. 浮点数的表示在计算机中,浮点数用于表示带有小数点的数值。
浮点数的表示采用科学计数法,其中包括尾数和指数两部分。
尾数用来表示数的大小,而指数用来表示小数点的位置。
. . . .参考.学习第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转化为二进制数。
计算机中的数据表示与运算数据表示是计算机科学中的一个基本概念,它涉及到如何将不同类型的数据转化为计算机能够理解和处理的形式。
而数据运算则是对这些表示的数据进行各种数学或者逻辑操作的过程。
在计算机领域中,数据表示和数据运算是非常重要且密切相关的概念,对于提高计算机的性能和功能都具有重要的影响。
本文将讨论计算机中的数据表示与运算的相关内容,并简要介绍一些常见的数据表示方式和运算方法。
一、数据表示1. 二进制表示在计算机中,数据以二进制方式进行表示。
二进制是一种使用0和1来表示数字的数制,它是计算机中最基本的数据表示方式。
在二进制表示中,每一位都表示一个2的幂次方,从右往左依次是2^0、2^1、2^2、2^3,以此类推。
通过组合不同的位数,可以表示不同的数字、字符和符号。
2. 十进制表示尽管计算机使用二进制表示数据,但是在人类的日常生活中我们通常使用十进制来表示数字。
十进制是一种使用0到9的数码来表示数字的方式,它是最常用的数字表示方法。
在计算机中,需要将十进制表示的数字转换为二进制表示的数字进行处理。
3. 其他进制表示除了二进制和十进制,计算机中还使用其他进制来表示数据,例如八进制和十六进制。
八进制使用0到7的数码来表示数字,而十六进制使用0到9的数码和A到F的字母来表示数字。
这些进制表示方式在计算机编程和底层数据处理中比较常见。
二、数据运算1. 整数运算在计算机中,对于整数的运算可以使用常见的加、减、乘、除等运算符进行操作。
计算机可以快速进行整数运算,同时也支持不同进制的整数运算。
整数运算是计算机中的基本运算之一。
2. 浮点数运算除了整数运算,计算机还支持浮点数运算。
浮点数是一种用于表示有小数部分的数字的数据类型。
在计算机内部,浮点数的表示方式是通过科学计数法来实现的。
浮点数运算包括加、减、乘、除等运算,但是由于浮点数的精度限制,会存在一定的舍入误差。
3. 逻辑运算逻辑运算是计算机中的另一种重要运算方式。
计算机中数据的表示和计算计算机是现代社会中不可或缺的工具,它能够高效地进行数据的表示和计算。
本文将探讨计算机中数据的表示和计算的基本原理及各种常见的表示方式。
一、数据的表示在计算机中,数据以二进制的形式存储和处理。
二进制是由0和1两个数字组成的数字系统,与人们常用的十进制数字系统不同。
计算机通过使用不同的表示方式来表示各种类型的数据,包括整数、浮点数和字符等。
1. 整数表示整数是计算机中最基本的数据类型之一。
计算机使用原码、反码和补码来表示整数。
原码是简单的二进制表示方式,即将整数的绝对值转换为二进制数,符号位用0表示正数,用1表示负数。
反码是在原码的基础上将正数保持不变,负数则将其二进制数取反。
补码是在反码的基础上加1。
补码表示方式可以避免0有两种表示的问题,并且能够方便地进行计算。
2. 浮点数表示浮点数是用于表示带有小数部分的数值。
计算机使用IEEE 754浮点数标准来表示浮点数。
浮点数由符号位、阶码和尾数三部分组成。
符号位表示正负,阶码用于表示指数部分,尾数表示小数部分。
3. 字符表示计算机以ASCII码或Unicode编码来表示字符。
ASCII码使用7位二进制数来表示128个字符,包括数字、字母和特殊符号等。
Unicode 编码则是一种更加全面的字符编码方式,可以表示世界上几乎所有的字符。
二、数据的计算计算机可以对数据进行各种计算操作,包括加法、减法、乘法和除法等。
1. 加法和减法计算机使用逻辑电路来进行加法和减法运算。
加法和减法的原理是将两个数按位进行运算,并根据进位和借位来计算结果。
计算机通过逻辑门电路实现加法器和减法器,从而实现高效的运算。
2. 乘法和除法计算机使用乘法和除法算法来进行乘法和除法运算。
乘法运算可以通过多位乘法器来实现,将两个数按位相乘并相加得到结果。
除法运算可以通过除法器来实现,将被除数不断减去除数直到减不动为止,并记录减的次数即为商。
3. 高级计算除了基本的加减乘除运算,计算机还可以进行更复杂的计算,例如指数运算、对数运算和三角函数等。
计算机中数的表示及运算张晓军编写引言人类在文字出现以前,就已经会用道具(如绳子打结)计数了.在日常生活中,我们每天都在与数字打交道,而数字与数制是密不可分的.比如: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,…….对于任意一个二进制数,也都可以表示成按权展开的多项式。
例如:(10110101)2=1*27+0*26+1*25+1*24+0*23+1*22+0*21+1*20(10.11)2=1*21+0*20+1*2-1+1*2-2为什么人们在计算机中采用二进制?这是因为,二进制数具有以下一些重要特点:(1)二进制数只含有两个数字0和1,因此可用大量存在的具有两个不同的稳定物理状态的元件来表示.例如,可用指示灯的不亮和亮,继电器的断开和接通,晶体管的断开和导通,磁性元件的反向和正向剩磁,脉冲电位的低和高等等,来分别表示二进制数字0和1.计算机中采用具有两个稳定状态的电子或磁性元件表示二进制数,这比十进制的每一位要用具有十个不同的稳定状态的元件来表示,实现起来要容易得多,工作起来也稳定得多.(2)二制数的运算规则简单,使得计算机中的运算部件的结构相应变得比较简单.二进制数的加法和乘法的运算规则只有4条:0+0=0 0+1=1 1+0=1 1+1=100*0=0 0*1=0 1*0=0 1*1=1实际上,二进制数的乘法可以通过简单的移位和相加来实现(3)二进制数的两个数字0和1与逻辑代数的逻辑变量取值一样,从而可采用二进数进行逻辑运算,这样就可以应用逻辑代数作为工具来分析和设计计算机中的逻辑电路,使得逻辑代数成为计算机设计的数学基础.1.3 二进制数与十进制数间的相互转换(1)二进制数转换成十进制数——乘权求和,即将二进制数按权展开求和。
例1把二进制数1101.11转换成十进制数(1101.11)2=1*23+1*22+0*21+1*20+1*2-1+1*2-2=8+4+0+1+0.5+0.25=13.75(2)十进制数转换成二进制数——整数部分辗转除以2取余,小数部分辗转乘以2取整即将十进制整数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;以此类推,直到商等于零为止。
每次得到的余数的倒排列,就是对应二进制数的各位数。
例2把十进制数37转换成二进制数于是得:(37)10=(100101)2十进制小数转换成二进制小数是用“乘2取整法”。
即用2逐次去乘十进制小数,将每次得到的积的整数部分按各自出现的先后顺序依次排列,就得到相对应的二进制小数。
例3把(0.6875)10转换成二进制数设(0.6875)10=a-1*2-1+a-2*2-2+…+a-m*2-m于是得:(0.6875)10=(0.1011)2说明:一个有限的十进制小数并非一定能够转换成一个有限的二进制小数,即上述过程的乘积的小数部分可能永远不等于0,这时我们可按要求进行到某一精确度为止.如(0.1)10=(0.000110011001100110011001100...)2如果一个十进制数既有整数部分又有小数部分,则可将整数部分和小数部分分别进行转换,然后再将两部分合起来.如(37.6875)10=(100101.1011)21.4 八进制数与十六进制数在计算机内部,一切信息的存储、处理与传送均采用二进制的形式。
但由于二进制数所需位数较多,阅读与书写很不方便,为此,在阅读与书写时又通常用十六进制或八进制来表示,这是因为十六进制和八进制与二进制之间有着非常简单的对应关系八进制数的基数是8,有8个基本数字:0,1,2,3,4,5,6,7,并且"逢八进一,借一当八".由于八进制数的基数8是二进制数的基数2的3次幂,即23=8,所以一位八进制数相当于3位二进制数,这样使得八进制数与二进制数之间的转换十分方便.十六进制数的基数是16,有16个基本数字:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,并且"逢十六进一,借一当十六".由于十六进制数的基数16是二进制数的基数2的4次幂,即24=16,所以一位八进制数相当于4位二进制数,这样使得十六进制数与二进制数之间的转换十分方便.进制转换对照表例4把(56.103)8转换成二进制数(一位变三位)56.103↓↓↓↓↓↓101110.001000011所以(56.103)8=(101110.001000011)2例5把(11101.1101)2转换成八进制数(三位变一位)以小数点为中心,向两边每隔3位分组(不足3位的,在外边补0):011101.110100↓↓↓↓↓35.64所以(11101.1101)2=(35.64)8例6把(3AD.B8)16转换成二进制数(一位变四位)3A D.B8↓↓↓↓↓↓001110101101.10111000所以(3AD.B8)16=(1110101101.10111)2例7把(1111100111.111111)2转换成十六进制数(四位变一位)以小数点为中心,向两边每隔4位分组(不足4位的,在外边补0):001111100111.11111100↓↓↓↓↓↓3E7.F C所以(1111100111.111111)2=(3E7.FC)16其他进制数与十进制数之间的转换把其他进制数转换成十进制数,都用乘权求和的方法;把十进制数转换成其他进制数,都用整数部分辗转除以其他进制数的基数取余,小数部分辗转乘以其他进制数的基数取整的方法例8把(17.26)8转换成十进制数(乘权求和)(17.26)8=1*81+7*80+2*8-1+6*8-2=8+7+2*0.1256*0.015625=15.34375例9把(65535)10转换成16进制数(辗转除以16取余)所以(65535)10=(FFFF)16二、计算机中数的表示在计算机中所有的数据、指令以及符号等都是用特定的二进制代码表示的。
我们把一个数在计算机内被表示的二进制形式称为机器数,该数称为这个机器数的真值。
机器数具有下列特点:(1)由于计算机设备的限制和操作上的便利,机器数有固定的位数。
它表示的数受到固定位数的限制,具有一定的范围,超过这个范围就会产生“溢出”。
例如,一个8位机器数,所能表示的无符号整数的最大值是“11111111”,即十进制数255,如果超过这个数就会“溢出”。
(2)机器数能表示数的符号(正、负或0)。
通常是用机器数中规定的符号位(一般是最高位)取0或1表示数的正或负。
例如,一个8位机器数,其最高位是符号位,那么在定点整数原码表示的情况下,对于00101110和10010011,其真值分别为十进制数+46和-19。
(3)机器数中,采用定点或浮点方式来表示小数点的位置。
2.1 原码,反码和补码在计算机中参加运算的数有正负之分,通常在计算机中我们用X=X0X1X2……X N-1来表示一个二进制数,并规定当X0=0时X为正数,X0=1时X为负数.在计算机中这种表示法有原码,补码和反码三种。
1.原码原码的定义:其最高位为符号位,0表示正,1表示负,其余位数表示该数的绝对值。
通常用[X]原表示X的原代码。
例如:假设,因为(17)10=(10001)2,(39)10=(100111)2,那么[+17]原=00010001,[-39]原=10100111[+0]原=00000000,[-0]原=10000000,因此,0的表示有两种,"浪费"了资源.当机器数的位数是8时,原码表示范围是[-127,127]。
原码的表示法简单易懂,但是它最大的缺点是运算复杂。
2.反码反码的定义:正数的反码与原码相同,负数的反码是把其原码除符号位外的各位取反(即0变1,1变0).通常用[X]反表示X的反码。
例如:[+45]反=[+45]原=00101101由于[-32]原=10100000,所以[-32]反=11011111[+0]反=[+0]原=00000000,[-0]原=10000000,[-0]反=11111111,因此0的表示也有两种根据[X]反所能表示的整数范围公式,我们可以计算出当n=8时反码表示范围是[-127,127]。
3.补码补码的定义:正数的补码与原码相同,负数的反码是在其反码的最低有效位上加1。
通常用[X]补表示X的补码。
例如:[+14]补=[=14]原=00001110由于[-36]原=10100100,而[-36]反=11011011,所以[-36]补=11011100[+0]补=[+0]原=00000000,[-0]反=11111111,规定[-0]补=00000000(溢出部分忽略),这样在用补码表示时,0的表示方法就唯一了.根据[X]补所能表示的整数范围公式,我们可以计算出当n=8时补码表示范围是[-128,127] 用补码进行加减运算是很简单的,公式为[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补加法公式是非常简单的,在减法中我们可以根据[Y]补求[-Y]补:将[Y]补连同符号位一起按位求反后末位加1可得[-Y]补。