慕粉1204256817
2017-03-25 22:13
int x = ( m * 8 / ( n + 2 ) ) % m ;
n=5
m=7
x=4
我就不明白x为毛是4
求教各位?
题目:
int x = ( m * 8 / ( n + 2 ) ) % m ;
n=7
m=5
解: x = (5*8/(7+2)) % 5
=(40/9) % 5
= 4%5 // 计算40 / 9 = 4.444 取整之后为 4
= 4
除法运算是:(被除数 - 余数) ÷ 除数 = 商 也就是 商 x 除数 + 余数 = 被除数,
所以,4除以任何一个比4大的数n 都是商0余4, 这样 0 x n + 4 = 4 这个逻辑才是正确的,不然楼主以为结果是几,代进去试试就会发现问题了
写反了的话,值应该是4呢;对于%运算,如果分子小于分母,则商为0,余数为分子;/运算,商有整数部分则取整数部分,无则为0
/是取整数,%是取余数
7*8=56
5+2=7
56/7=8
8%7=1
按照你给出的定义,X是等于1的。在eclipse上运行后,结果也是1。
m的值为7,7*8=56,n的值为5,5+2=7,56除7=8,8%7=1,不是4 ,伙计,不知道你是怎么得出的4.
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题