发布网友 发布时间:2024-10-21 21:04
共2个回答
热心网友 时间:2024-10-21 21:45
从数学角度上看,这个表达式10*0.1 .NE. 1是"假”,但是如果写成程序,由于程序中浮点型(或实型)数据类型有有效数字的位数问题,计算机二进制的特性决定了浮点数的最后一位是无效的(不确定尾数),通常情况下程序中10*0.1不会精确等于1,即“(10.0*0.1) .NE. 1.0”为真。这告诉我们在程序中不要对实型数据的比较不要使用“==”或“\=”,这种问题可以这样表达 abs(10.0*0.1 - 1.0) > 1e-6,可以得到你想要的结果“假”。热心网友 时间:2024-10-21 21:43
PROGRAM MAIN