VB整除和用int函数的区别
x=xy\8192x=int(xy/8192)这两种写法有什么区别?结果有可能不同吗?...
x = xy \ 8192x = int(xy / 8192)这两种写法有什么区别?结果有可能不同吗?
展开
4个回答
展开全部
有两点区别:
1、如果被除数和除数有小数:
int(x / y) 会先计算x/y的值,然后再取整数
如:int(18.5 / 3.5) = int(5.28571428571429) = 5
x \ y 则会先把x和y按“四舍六入五去双”的原则取整(即十分位是4舍去,是6进位,是5则如果个位是偶数舍去,是奇数则进位),然后再把取整后的两数相除的商直接去掉小数
如:18.5 \ 3.5 = 18 \ 4 = 4.5 ≈ 4
2、如果计算结果是负数:
int(x / y) 会取小于等于x/y的精确值的最大整数
如:int(-18.5 / 3.5) = int(-5.28571428571429) = -6
x \ y 则是直接把小数部分去掉,而不管它是不是负数
如:-18.5 \ 3.5 = -18 \ 4 = -4.5 ≈ -4
总结:如果 x 和 y 都是不含小数的正整数,那么int(x/y)与x\y的运算结果是一样的,而如果 x 与(或)y 是负数或含有小数,那么计算结果就不一定相等了,甚至有可能相差得离谱!
1、如果被除数和除数有小数:
int(x / y) 会先计算x/y的值,然后再取整数
如:int(18.5 / 3.5) = int(5.28571428571429) = 5
x \ y 则会先把x和y按“四舍六入五去双”的原则取整(即十分位是4舍去,是6进位,是5则如果个位是偶数舍去,是奇数则进位),然后再把取整后的两数相除的商直接去掉小数
如:18.5 \ 3.5 = 18 \ 4 = 4.5 ≈ 4
2、如果计算结果是负数:
int(x / y) 会取小于等于x/y的精确值的最大整数
如:int(-18.5 / 3.5) = int(-5.28571428571429) = -6
x \ y 则是直接把小数部分去掉,而不管它是不是负数
如:-18.5 \ 3.5 = -18 \ 4 = -4.5 ≈ -4
总结:如果 x 和 y 都是不含小数的正整数,那么int(x/y)与x\y的运算结果是一样的,而如果 x 与(或)y 是负数或含有小数,那么计算结果就不一定相等了,甚至有可能相差得离谱!
展开全部
Int函数的作用是对浮点数向下取整,即小于等于这个浮点数的最大整数。例如:
Int(-4.6) = -5
Int(2.6) = 2
整除是被除数除以除数,取商,余数不管,例如:
100 \ 8 = 12
-31 \ 8 = -3
xy \ 8192 和 int(xy / 8192) 的最大区别就是,如果 xy / 8192 的结果是正数,两者结果相同,如果结果是负数,那么 int(xy / 8192) 的结果要小1
Int(-4.6) = -5
Int(2.6) = 2
整除是被除数除以除数,取商,余数不管,例如:
100 \ 8 = 12
-31 \ 8 = -3
xy \ 8192 和 int(xy / 8192) 的最大区别就是,如果 xy / 8192 的结果是正数,两者结果相同,如果结果是负数,那么 int(xy / 8192) 的结果要小1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
整除时,商是整数,余数舍去;而int()函数是取整函数,取小于或等于参数的最大整数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-27
展开全部
没什么不同,这两种写法是一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |