Zac*_*ura 2 c bitwise-operators
我正在做一个C家庭作业项目而且我非常迷失.本质上,我必须使函数称为多数,它接受3个短整数,并根据输入吐出另一个数字.我将从项目中给出一个例子:
基本上,我创建函数majority(101010101010101, 101010101010101, 101010101010101),如果该位有2个或更多1,则返回1,否则返回0.
到目前为止,我有
short majority(short a, short b, short c)
{
return (a | b | c);
}
Run Code Online (Sandbox Code Playgroud)
现在,我知道这是不对的,在所有的,所以我在这里问:我怎么会去这样做呢?感谢您的帮助,如果有点难以理解,我深表歉意.我可以根据需要进行编辑.
这样做的方法不止一种,但有一种可能性是:
short majority(short a, short b, short c)
{
return (a & b) | (b & c) | (c & a);
}
Run Code Online (Sandbox Code Playgroud)
由于这是家庭作业,我会让你为自己工作如何/为什么这样做,看看你是否可以提出一个替代,甚至更好的解决方案......