qbasic中的问题

输出结果为10,输出结果为9这是怎么回事?... 输出结果为10,输出结果为9
这是怎么回事?
展开
 我来答
HALOCORE
2012-10-22 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:111万
展开全部

这只能说明 ^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但也就是这致命的误差,造就了逻辑判断走上另一条路。

所以,做什么事都要严谨。

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
爱去二欧
2012-10-23 · TA获得超过4448个赞
知道小有建树答主
回答量:1800
采纳率:0%
帮助的人:1093万
展开全部
运算精度不同造成的,这种例子挺多的,还有水仙花数时也有这样的现象。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式