计算机中数据的表示和计算
- 格式:doc
- 大小:465.00 KB
- 文档页数: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,…….对于任意一个二进制数,也都可以表示成按权展开的多项式。
考点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的底数。
第1章 计算机系统基础知识本章主要包括计算机系统的组成、计算机的类型、计算机中数据的表示和运算、CPU 、存储器等基础知识。
1.1 计算机系统的基本组成计算机系统是由硬件系统和软件系统组成的,计算机硬件是计算机系统中看得见、摸得着的物理装置,计算机软件是程序、数据和相关文档的集合。
计算机系统的组成如图1-1所示。
控制器CPU运算器 内存储器(主存储器)主机硬件系统输入设备 输出设备外存储器(辅助存储器)软件系统系统软件 应用软件外部设备计算机系统图1-1 计算机系统的组成示意图1.计算机系统的硬件组成基本的计算机硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。
随着器件技术和微电子技术的发展,运算器、控制器等部件已被集成在一起,统称为中央处理单元(Central Processing Unit ,CPU )。
CPU 是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。
运算器是对数据进行加工处理的部件,它主要完成算术和逻辑运算。
控制器的主要功能则是从主存中取出指令并进行分析,控制计算机的各个部件有条不紊地完成指令的功能。
存储器是计算机系统中的记忆设备,分为内部存储器(Main Memory ,MM ,简称内存、主存)和外部存储器(简称外存)。
内存速度快、容量小,一般用来临时存放计算机运行时所需的程序、数据及中间结果。
外存容量大、速度慢,可用于长期保存信息。
寄存器是CPU 中的记忆设备,用来临时存放指令、数据及运算结果。
与内存储器相比,寄存器的速度要快得多。
习惯上将CPU和主存储器的有机组合称为主机。
输入/输出(I/O)设备位于主机之外,是计算机系统与外界交换信息的装置。
所谓输入和输出,都是相对于主机而言的。
输入设备的作用是把转换成二进制形式的信息输入到计算机的存储器中,输出设备的作用是把运算处理结果按照人们所要求的形式输出到外部存储介质上。
2.计算机软件计算机软件是指为管理、运行、维护及应用计算机所开发的程序和相关文档的集合。
实验二计算机的数据表示和计算实验二:计算机的数据表示和计算一、实验目的本实验旨在深入理解计算机内部的数据表示、数据类型和计算规则,以及如何运用这些基本知识进行程序设计和问题解决。
通过实际操作,掌握二进制、十进制和十六进制等不同数制之间的转换,理解计算机中数据的表示方法和存储方式。
二、实验内容1.数据表示方法:掌握二进制、十进制和十六进制等不同数制之间的转换,理解计算机中数据的表示方法和存储方式。
2.数据类型:了解和掌握常见的数据类型(如整数、浮点数、字符等)及其在计算机内部的表示方法。
3.计算规则:掌握二进制、十进制和十六进制之间的加减乘除运算规则,并能够进行简单的编程实现。
4.编程实践:通过编程语言(如Python)实现不同数制之间的转换、数据类型的操作以及基本的数学运算。
三、实验步骤1.数据表示方法:首先,我们需要了解二进制、十进制和十六进制等不同数制之间的转换规则。
例如,如何将十进制数转换为二进制或十六进制数,反之亦然。
可以使用计算器或在线工具进行转换,但需要理解转换的原理和方法。
2.数据类型:接下来,我们需要了解计算机中常见的数据类型及其在内存中的表示方法。
例如,整数类型(int)在内存中占用固定大小的存储空间(如4字节),而浮点数类型(float)则表示具有小数部分的数字。
可以通过编写简单的程序来查看不同数据类型在内存中的表示方式。
3.计算规则:掌握二进制、十进制和十六进制之间的加减乘除运算规则。
例如,了解二进制数的加法规则(逢二进一)和乘法规则(左移一位乘2),以及十进制数和十六进制数的加减乘除运算规则。
可以通过编写简单的程序进行验证。
4.编程实践:最后,通过编程语言(如Python)实现不同数制之间的转换、数据类型的操作以及基本的数学运算。
例如,编写一个Python程序,接受用户输入的十进制数,将其转换为二进制和十六进制数并输出结果。
还可以编写一个程序来演示不同数据类型之间的加减乘除运算,并输出结果。
第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转化为二进制数。
解:步骤一:转换整数部分Mod(347/2)=1Mod(173/2)=1Mod(86/2)=0Mod(43/2)=1Mod(21/2)=1Mod(10/2)=0Mod(5/2)=1Mod(2/2)=01(347)10=(101011011)2步骤二:将小数部分转化0.625⨯2=1.25 10.25⨯2=0.5 00.5⨯2=1 1(0.625)10 =(101)2得:(347.625)10 =(101011011.101)2(2)考生应该熟记最基本的二进制、八进制、十进制和十六进制的对应关系,以应对各种以此为基础的计算。
表1-1是基本的对应关系。
表1-1二进制、八进制、十进制和十六进制的对应关系(3)二进制的运算法则第1章 计算机系统基础 3① 二进制加法的进位法则是“逢二进一”。
0+0=0 1+0=1 0+1=1 1+1=0(进位) ② 二进制减法的进位法则是“借一为二”。
0–0=0 1–0=1 1–1=00–1=1(借位)③ 二进制乘法规则。
0⨯0=0 1⨯0=0 0⨯1=0 1⨯1=1④ 二进制除法即是乘法的逆运算,类似十进制除法。
1.1.3 机器数和码制各种数据在计算机中表示的形式称为机器数,其特点是采用二进制数。
计算机中表示数值数据时,为了便于运算,带符号数采用原码、反码、补码和移码等编码方式,这种编码方式称为码制。
1.原码表示方法数制X 的原码定义如下: 若X 是纯整数,则1[]2n XX X -⎧⎪=⎨+⎪⎩原 110220n n X X --≤<-<≤从定义可以看出,正整数的原码就是其本身,负整数的原码取其绝对值,符号位置1即可(0表示正号,1表示负号)。
若X 是纯小数,则[]1XX X ⎧⎪=⎨+⎪⎩原 0110X X ≤<-<≤正的纯小数的原码就是其自身,而负的纯小数的原码可以通过把其绝对值的原码符号位置1得到。
注:若用原码表示机器数,0的表示不唯一,会出现+0和–0两种情况。
2.补码表示方法数制X 的补码定义如下: 若X 是纯整数,则[X ]补2n X X ⎧⎪=⎨+⎪⎩1102120n n X X --≤≤--≤<若X 是纯小数,则[X ]补2X X ⎧=⎨⎩+ 0110X X ≤<-≤<补码表示法中,最高位是符号位(0表示正号,1表示负号),正数的补码与原码相同,网络管理员考前辅导4 负数的补码则是反码加1,即逐位求反再加1。
补码不会出现0的表示不唯一的情况,没有+0和–0之分。
3.反码表示方法数制X 的反码定义如下:若X 是纯整数,则[]21n XX X ⎧⎪=⎨-+⎪⎩反 11021(21)0n n X X --≤≤---≤≤ 若X 是纯小数,则1)[]22n X X X -⎧⎪=⎨-⎪⎩反-(+ 0110X X ≤<-<≤ 从定义可以看出,正数的反码就是其本身,负数的反码是其绝对值逐位求反得到的,符号位置1即可(0表示正号,1表示负号)。
与原码一样,反码也会出现0的表示不唯一的情况。
4.移码表示法整数的移码表示:111[]222n n n X X X ---=+-≤<移小数的移码表示:[]111X X X =+-≤<移移码的符号位是1表示正号,0表示负号。
移码即是补码的符号位取反。
1.1.4 定点数和浮点数计算机在处理数值数据时,对小数点的处理有两种不同的方法,分别是定点法和浮点法,也就是对应了定点数据表示法和浮点数据表示法这两种不同形式的数据表示方法。
1.定点数所谓定点数,就是小数点的位置固定不变的数。
小数点的位置通常有两种约定方式:定点整数——纯整数,小数点在最低的有效数值位之后;定点小数——纯小数,小数点在最高有效数值位之前。
表1-2是机器数字长为n 时,原码、反码、补码、移码的定点数所表示的范围。
表1-2 机器数字长为n 时表示的带符号的范围第1章 计算机系统基础 52.浮点数当机器字长为n 时,定点数的补码和移码可以表示2n 个数,而其原码和反码只能表示2n –1个数(正负0占了两个编码)。
定点数所能表示的数值范围比较小,容易溢出,所以引入了浮点数。
浮点数是小数点位置不固定的数,它能表示更大的范围。
二进制数N 的浮点数表示方法为N =2E ⨯F其中,E 称为阶码,F 称为尾数。
在浮点表示法中,阶码通常为带符号的纯整数,尾数为带符号的纯小数。
浮点数的一般表示格式如下:浮点数的表示不是唯一的。
当小数点的位置改变时,阶码也随之相应改变,因为可以用多种浮点形式表示同一个数。
浮点数所能表示的数值范围主要由阶码决定,表示数值的精度则由尾数决定。
为了充分利用尾数来表示更多的有效数字,通常对浮点数进行规格化。
规格化就是将尾数的绝对值限定在区间[0.5, 1]。
当尾数用补码表示时,需要注意:若尾数F ≥0,则其规格化的尾数形式为:F =0.1××××…×,其中⨯可为0,也可为1,即将尾数F 的范围限定在区间[0.5, 1]内。
若尾数F <0,则其规格化的尾数形式为:F =1.0××××…×,其中⨯可为0,也可为1,即将尾数F 的范围限定在区间[–1,–0.5)内。
如果浮点数的阶码(包括1位阶符)用R 位的移码表示,尾数(包括1位数符)用M 位的补码表示,则这种浮点数所能表示的最大的正数为1121(12)(2)R M ---+-⨯+,最小的负数为12112R ---⨯。
1.1.5 其他数据表示1.十进制数表示在数字系统中,各种数据要转换为二进制代码才能进行处理,而人们习惯于使用十进制数,所以在数字系统的输入输出中仍采用十进制数,这样就产生了用4位二进制数表示一位十进制数的方法,这种用于表示十进制数的二进制代码称为二-十进制代码(Binary Coded Decimal ),简称为BCD 码。
BCD 码具有二进制数的形式以满足数字系统的要求,又具有10进制的特点(只有10种有效状态)。
在某些情况下,计算机也可以对这种形式的数直接进行运算。
常见的BCD 码有以下几种表示。
(1)8421BCD 编码这是一种使用最广的BCD 码,是一种有权码,其各位的权分别是(从最高有效位开6网络管理员考前辅导始到最低有效位)8、4、2、1。
例:写出十进制数563.97D对应的8421BCD码。
563.97D=0101 0110 0011.1001 01118421BCD例:写出8421BCD码1101001.010118421BCD对应的十进制数。
1101001.010118421BCD=0110 1001.0101 10008421BCD=69.58D在使用8421BCD码时一定要注意其有效的编码仅10个,即:0000~1001。
4位二进制数的其余6个编码1010,1011,1100,1101,1110,1111不是有效编码。
(2)2421BCD编码2421BCD码也是一种有权码,其从高位到低位的权分别为2、4、2、1,它也可以用4位二进制数来表示1位十进制数。
(3)余3码余3码也是一种BCD码,但它是无权码,由于每一个码对应的8421BCD码之间相差3,故称为余3码,一般使用较少,故只需作一般性了解。
常见BCD编码见1-3表表1-3BCD编码表(4)压缩与非压缩BCD码有两种形式,即压缩型BCD码和非压缩型BCD码。
压缩型BCD码一个字节可存放一个两位十进制数,其中高4位存放十位数字,低4位存放个位数字,如56的压缩型8421BCD码是0101 0110;非压缩型BCD码1个字节可存放1个一位十进制数,其中高字节为0,低字节的低4位存放个位,如5的非压缩型BCD码是0000 0101,必须存放在1个字节中,56的非压缩型BCD码是00000101 00000110,必须存放在1个字中。
2.符号的表示(1)ASCII码第1章计算机系统基础7ASCII码(American Standard Code for Information Interchange)即美国标准信息交换码,该编码后来被国际标准化组织ISO采纳而成为一种国际通用的信息交换标准代码,即国际5号码。
ASCII码采用7b进行编码,一共有27(128)种编码,从00000000到11111111可以表示128个不同的字符。
这128个字符又可以分为两类:可显示/打印字符95个和控制字符33个。
所谓可显示/打印字符是指包括0~9十个数字符,a~z、A~Z共52个英文字母符号,“+”、“–”、“ ”、“/”等运算符号,“。
”、“?”、“,”、“;”等标点符号,“#”、“%”等商用符号在内的95个可以通过键盘直接输入的符号,它们都能在屏幕上显示或通过打印机打印出来。