vb编程问题print 5/4*6 mod 2为什么
5/4=1.25,,1.25*6=7.5,,然后7.5mod2不是余数是1.5吗?然后再四舍五入不是2吗为什么答案是1?...
5/4=1.25,,1.25*6=7.5,,然后7.5 mod2 不是余数是1.5吗?然后再四舍五入不是2吗为什么答案是1?
展开
3个回答
2013-08-04
展开全部
这个问题关系到vb里面mod函数的运行机制,前面你计算的都是没错的,最后就是7.5 mod 2的问题,vb里面是这样的,四舍六入这个无疑。。。关键就在5怎么个取舍方法:靠偶原则,也就是返回最接近的偶数,这里是8,所以最后是8 mod 2 = 0,结果是0,答案是错误的,你可以上机实验验证。
2013-08-04
展开全部
答案是 1 吗??我觉得应该是 0 前面没问题,到了 7.5 mod 2 ,因为 mod 这个双目运算符二边都必须是整型,所以它在计算之前就会自动转换类型, 7.5 按四舍五入就转成 8 了,然后 8 mod 2 =0 如果是 7.4 mod 2 就会等于 1 看楼主说一个数 mod 2 竟然会等于 2,真是纠结.... m mod 2 永远也不可能出现等于2的情况
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-04
展开全部
2楼正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询