vb中,奇数的条件是: i mod 2=1 与 i mod2<>0 两个条件都可以吗?
答案:3 悬赏:40 手机版
解决时间 2021-03-24 01:46
- 提问者网友:我的未来我做主
- 2021-03-23 10:20
vb中,奇数的条件是: i mod 2=1 与 i mod2<>0 两个条件都可以吗?
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-03-23 11:17
mod 是取模,就是求余数
i mod 2 = 1 实际处理这样的
i mod 2 和余数,假如是5, 然后 5 与 1 是否相等,
后面这个也一样,5与 0 是否不等
某些时候是可以的,
余数为0表示能整除,不为零就表示未整除
如果你要用后面这个判断,建议写成 i mod 2 >0
因为 <>0 与 >0 处理要费些时间追问还是不大明白,可以写成:i mod 2>0 吗? 您能再说的清楚些吗?追答如果中文都看不明白,我也无话可说,
表达式有先后执行顺序,不要所有问题都一起来看,你细化后,有的事情是相对而言,
就像你一天的活动,看似复杂,但是先后顺序后,就简单了,比如会先吃饭,再去玩,再休息。。。
你到目前为止,还没有明白运算符的优化级,
数学也不老好,
你把 i 看作 7 , i mod 2 就是1,
那你说
if( 1=1 )
和
if( 1>0)
和
if( 1<>0)
是一样的还是一样的啊?
i mod 2 = 1 实际处理这样的
i mod 2 和余数,假如是5, 然后 5 与 1 是否相等,
后面这个也一样,5与 0 是否不等
某些时候是可以的,
余数为0表示能整除,不为零就表示未整除
如果你要用后面这个判断,建议写成 i mod 2 >0
因为 <>0 与 >0 处理要费些时间追问还是不大明白,可以写成:i mod 2>0 吗? 您能再说的清楚些吗?追答如果中文都看不明白,我也无话可说,
表达式有先后执行顺序,不要所有问题都一起来看,你细化后,有的事情是相对而言,
就像你一天的活动,看似复杂,但是先后顺序后,就简单了,比如会先吃饭,再去玩,再休息。。。
你到目前为止,还没有明白运算符的优化级,
数学也不老好,
你把 i 看作 7 , i mod 2 就是1,
那你说
if( 1=1 )
和
if( 1>0)
和
if( 1<>0)
是一样的还是一样的啊?
全部回答
- 1楼网友:蕴藏春秋
- 2021-03-23 11:36
都可以,但楼上的回答是有道理的。i mod 2>0的执行效率最高。
因为计算机执行大小的比较,要比执行是否相等来得要容易,占用的机器时间短。
作为一个程序员,程序效率也是要重点关注的。虽然计算机够快,但有方法让它多休息也是好的。
因为计算机执行大小的比较,要比执行是否相等来得要容易,占用的机器时间短。
作为一个程序员,程序效率也是要重点关注的。虽然计算机够快,但有方法让它多休息也是好的。
- 2楼网友:罪歌
- 2021-03-23 11:26
都可以。
一个整数被2除,它的余数就只有2种结果:1和0
如果余数1(也就不是0)就表示它是奇数。
所以i mod 2=1 与 i mod2<>0 是一样的。
我觉得在“ <>0 与 >0 处理要费些时间”这个问题讨论,有点吹毛求疵了,虽然程序设计的效率是必须要考虑的问题。但是在>0和<>0的执行效率完全是一样的(从机器语言上讲,都是一个CPU指令可以完成,无所谓谁的效率高低,何况VB是个解释性的语言)。所以我认为在“ i mod 2=1 与 i mod2<>0 两个条件” 里讲执行效率是不合适的。
一个整数被2除,它的余数就只有2种结果:1和0
如果余数1(也就不是0)就表示它是奇数。
所以i mod 2=1 与 i mod2<>0 是一样的。
我觉得在“ <>0 与 >0 处理要费些时间”这个问题讨论,有点吹毛求疵了,虽然程序设计的效率是必须要考虑的问题。但是在>0和<>0的执行效率完全是一样的(从机器语言上讲,都是一个CPU指令可以完成,无所谓谁的效率高低,何况VB是个解释性的语言)。所以我认为在“ i mod 2=1 与 i mod2<>0 两个条件” 里讲执行效率是不合适的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯