第1章 计算机中数的表示
- 格式:ppt
- 大小:255.00 KB
- 文档页数:17
考点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的底数。
数字在计算机中的表⽰ 现实⽣活中,我们通常使⽤10进制来表⽰我们的数字,⽽在计算机中使⽤的是“0”和“1”表⽰数字的⼆进制。
如果我们⽤⼀个字节来存储⼀个数字,那么这个数字在计算机中的存储形式可能是这样的:00010011。
最左边的0位在带符号数字中⽤来表⽰正负号,0代表正号,1代表负号,所以它也就叫做符号位;其他位数⽤来表⽰具体数字,因此叫做数值位。
00010011如果⽤来表⽰带符号整数,那么它代表的数字是+19。
+19叫做真值,00010011⽤于在计算机中表⽰,所以叫做机器数。
机器数在计算机中的表⽰形式有三种,原码,反码和补码。
原码的表⽰: 左边是符号位,正数为0,负数为1。
其他位表⽰数值 【+10】原码 = 00001010 【-10】原码 = 10001010 【+0】原码 = 00000000 【-0】原码 = 10000000 反码的表⽰: 正数的反码和原码相同,负数的反码由原码除了符号位的其余位取反(即0表1,1表0) 【+10】反码 = 00001010 【-10】反码 = 11110101 【+0】反码 = 00000000 【-0】反码 = 11111111 补码的表⽰: 正数的补码与原码相同,负数的补码由原码的反码加1得到 【+10】补码 = 00001010 【-10】补码 = 【-10】反码 + 1 = 11110101 + 1 = 11110110 【+0】补码 = 00000000 【-0】补码 = 【-0】反码 + 1 = 11111111 + 1 = 【1】00000000(mod(256)) 补码的意义:补码实际上是⼀种模运算,以时钟为例,时钟⼀圈是12个⼩时,即时钟的模为12。
如果当前时刻是3点钟,在12个⼩时之后时刻变为15点,15在模12之后,依然是3点。
再如,将3点的时针调慢⼀个⼩时,即调成2点,和将时针向前调整11个⼩时的效果是⼀样的。
因此⽤3-1和(3+11)mod(12)的结果⼀样。
计算机中如何表示数字-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代表负。