2个回答
展开全部
这只能说明 ^2运算有误差,可能是浮点运算,把j转成10.0000000,造成10^2=99.9999999(计算机中比较常见,但j*j可能是把j当整数乘,精确;不过不打紧。不是吧,你还在纠结这问题啊。
j = 1
FOR j = 1 TO 100
PRINT j * j,
PRINT j ^ 2,
PRINT j * j < 10000,
PRINT j ^ 2 < 10000
PRINT 10000 - j * j,
PRINT 10000 - j ^ 2
NEXT j
试运行这一段,会发现
看见最后一点了吗?当数很大时发生误差,且为1.766357E-15,也就是0.000000000000001766357但也就是这致命的误差,造就了逻辑判断走上另一条路。
所以,做什么事都要严谨。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询