我有一个数字,例如x,我想检查它是否能被Y(另一个数字)整除。如果它能被Y整除,我需要返回1,否则返回0。但是我不允许使用if条件,三元运算符,等号等。有什么建议吗?
如果变量X
能被3整除,该表达式返回true
X % 3 == 0
可以使用模运算符
return ((double)number) % 3.0d == 0
不使用任何条件,包括==
(实际上也是下面的条件)
基于此答案的位处理
var mod = unchecked((uint)(a % b));
mod = ((mod - 1U) & ~mod) >> 31;
return Unsafe.As<uint, bool>(ref mod);
// for earlier versions of .Net, do the below in an unsafe method
return *(bool*)&mod;
dotnetfiddle