文档详情

计算机中如何表示数字(1-6讲).docx

发布:2017-05-19约7.86千字共9页下载文档
文本预览下载声明
计算机中如何表示数字-01机器数与真值 机器数就是数值在计算机中的表示形式,真值则是它在现实中的实际数值。可以这样简单的理解。 因为计算机只能直接识别和处理用0、1两种状态的二进制形式的数据,所以在计算机中无法按人们的日常书写习惯用正、负符号加绝对值来表示数值,而与数字一样采用二进制代码0和1来表示正、负号。这样在计算机中表示带符号的数值数据时,符号和数均采用了0、1进行了代码化。这种采用二进制表示形式,连同正负符号一起代码化的数据,称为机器数或者机器码(即,数值在计算机中的二进制表示形式)。与机器数对应,用正、负符号加绝对值来表示的实际数值称为真值。 根据约定机器数是否存在符号位,机器数可以分为无符号数和带符号数。无符号数是指计算机字长的所有二进制位均表示数值。带符号数是指机器数分为符号位和数值两部分,且均采用二进制表示。一般约定最高位表示符号。 例1-1:为无符号定点整数时,真值是153;作为带符号定点整数时,第一位是符号位,1代表负号,二进制真值是-0011001,转化成十进制是-25。 对于带符号数,根据小数点位置固定与否,又可以分为定点数和浮点数。在介绍浮点数之前我们要将注意力完全放在定点数上面,要有点耐心,对定点数的理解程度决定了我们对浮点数的理解程度,因为可以将浮点数看成是对定点数的一种应用,以后就会明白了。好了,先看一看什么是定点数。 定点数约定所有数据的小数点位置均是相同且固定不变的。计算机中通常使用的定点数有定点小数和定点整数两类。 定点小数:对于一个长度为n位的机器数,定点小数约定小数点在符号位和最高数值位之间,如下 数符(最高位,占用1位). 尾数(剩余n-1位) 小数点只是一个约定,是隐含的,不占用空间。 定点整数:对于一个长度为n位的机器数,定点整数约定小数点在最低数值位之后,如下 数符(最高位,占用1位)尾数(剩余n-1位). 小数点也是隐含的。 例1-2:下的八位二进制数,我们看看它们所代表的值是多少 定点小数:1.1011001 真值=-0.1011001=-0.6953125 定点整数 真值=-1011001=-89 真值??127=+1111111 定点整数真值:-0.125=-0.001 定点小数:1.0010000 总结上面的内容,机器数的特点是: 1. 符号数值化,0代表正、1代表负。通常将符号的代码放在数据的最高位; 2. 小数点是隐藏的,不占用存储空间; 3. 每个机器数所占据的二进制位数受机器硬件条件的限制,与机器字长有关,超过机器字长的数值要舍去。 4. 因为机器数的长度是由机器的硬件规模规定的,所以机器数表示的数值是不连续的。 注:机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。8位长度的二进制数称为一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。 在计算机中为了便于数值的运算和处理,对机器数定义了不同的表示方法,其中包括了数的原码、补码、反码和移码表示。以后将分别对它们进行介绍。 计算机中如何表示数字-02原码 原码是一种简单、直观的机器数表示方式,其表示形式与真值的形式最为接近。上一篇中例1-2中展示的定点数采用的既是原码表示。原码规定机器数的最高位为符号位,0表示正、1表示负,数值部分在符号位后面,并以绝对值的形式给出。 设x为n位二进制数,下面给出纯小数、纯整数的原码定义: ü x为纯小数,0=x1时,它的原码等于真值x;-1x=0时,它的原码等于1+|x|。 ü x为纯整数,0=x2^n时,它的原码等于真值x;-2^nx=0时,它的原码等于2^n+|x|。 例2-1:已知x,求x的原码。 +0.1010110、-0.1010110、+1010110、-1010110 结果:0.1010110、1.101011011010110 真值0的原码表示:原码中真值0的表示有两种,即+0和-0。 纯小数的原码,+0为0.0000000、-0为1.000000;纯整数的原码,+0-0 原码的缺陷:0的表现形式不唯一;原码表示不便于实现加减运算。原码的加减运算过程有些类似我们自己进行加减运算的过程。当两数相加时,首先要判断两数的符号,若同号则做加法,若异号则做减法。当两数相减的时候,不禁要判断两数的符号,使得同号相减、异号相加;还要判断两数绝对值的大小,用绝对值大的数减去绝对值小的数,取绝对值大的数的符号为结果的符号。可见过程复杂不适合实现加减运算。但是原码的乘除运算可以通过数位的左移和右移来实现,还是很方便的。 原码的缺陷造
显示全部
相似文档