发布网友 发布时间:2022-04-22 00:51
共1个回答
热心网友 时间:2023-07-18 07:09
计算机的运算是通过CPU进行的。最基本的运算是算术运算,即+,-,*,/。参与算术的值和理论数学中是不同的,因为“一尺之棰,日取其半,永世不竭”。在计算机内部表示的只能是精确数字,所以无限小数是不可能表达的。这是第一个观点:计算机的数值,与人接触的数值有所不同。 第二个观点:计算机的运算实现,与人不同。计算机内部是通过电路的通断开业控制两种状态,以至表达二进制数;而人表达的是十进制数。 所以,这就决定了计算机,可以直接用加法器来完成整数(其实是非负整数)的算术运算,进一步加一个符号位(不管是原码还是补码)来表示负整数的运算,所以,即使是最早的CPU8088/8086,也支持这种类型的运算。但加法器不能处理浮点数据的运算,简单的说就是有小数点的数值。对这种数据,首先得有一种好的浮点数表示法。最终采用的是:尾数、阶数符号位各占一位,然后再对其余数位尾数、阶数的有效数位合理分配。也就是说,采用的是二进制的科学计数法。 在运算时,远远要比整类型的数值运算复杂,因为不仅尾数要参与运算,阶数也要参与,并且需要对尾数和阶数的符号位都进行处理,所以,开始的CPU并没有能力进行浮点运算(8088/8086,80286,80386SX),需要浮点运算...