假设已经声明了一个 int 变量 x,
写一个表达式,其值是 x 的最后一位数字(即最右边的数字)。
我知道答案是 x%10,但为什么这个表达式可以显示出最右边的数字?
写一个表达式,其值是 x 的最后一位数字(即最右边的数字)。
我知道答案是 x%10,但为什么这个表达式可以显示出最右边的数字?
x % 10
看起来是正确的答案, 但并非如此。
-2 % 10
根据语言/实现/其他因素,可能是-2
或8
。 而且两者都不是"最后一位数字"。
因此正确的答案是 abs(x) % 10
。
这是数学
当你使用“%”运算符时,你正在询问“在除以那个数字后余下多少”所以如果我有28 % 10 我的意思是“28除以10的余数是什么”。当然,这会给我8。获取一个数字除以10的余数只留下了个位数(最右边的数字)。
我们使用十进制/基数为10的数字系统。因此,如果您使用10,则始终会得到0-9之间的余数。
在Java中,“%”是余数运算符,并按上述方式工作。
x % y
,其中y
是表示x
的基数。 - Radu Murzea