假设已经声明的int变量x
,
写一个表达式,其值是x
的最后一个(最右边)数字。
我知道答案是x%10
,但为什么显示最右边数字的表达式呢?
答案 0 :(得分:14)
x % 10
看起来像是正确答案。但事实并非如此。
-2 % 10
可以是-2
或8
,具体取决于语言/实现/其他。实际上两者都不是“最后一位数”。
所以正确的答案是abs(x) % 10
。
答案 1 :(得分:10)
这是数学
当您使用'%'运算符时,您要求“除以该数字后的余数是多少”所以,如果我有28%10,我说“28的剩余部分除以10”。当然,这会给我8.将数字的余数除以10只会留下数字(最右边的数字)。
我们使用Decimal / Base 10数字系统。因此,如果你使用10,你将总是在0-9之间得到剩余。
在Java中,'%'是余数运算符,并按上述方式工作。