首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在全民公决中使用C位运算符

在全民公决中使用C位运算符
EN

Stack Overflow用户
提问于 2011-03-16 22:20:12
回答 2查看 352关注 0票数 2

我正在做一个C作业项目,我真是不知所措。本质上,我必须使函数称为 make ,它接受3个短整数,并根据输入输出另一个数字。我将给出这个项目的一个例子:

基本上,我让函数majority(101010101010101, 101010101010101, 101010101010101),如果该位中有2个或更多的1,返回1,否则返回0。

到目前为止,我

代码语言:javascript
复制
short majority(short a, short b, short c)
{
    return (a | b | c);
}

现在,我知道这是不对的,所以我在这里问:我该怎么做?谢谢你的帮助,如果这有点难理解的话,我很抱歉。我可以根据需要编辑。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-16 22:29:08

如果我正确地理解了您,您希望在结果整数中设置一个位,当且仅当相应的位是在两个或三个输入整数中设置的。

..。也就是说,如果在第一个数字中设置了该位,在最后两个数字中设置了相应的位,或者在最后两个数字中都设置了相应的位,那么在一个按位表示的表达式中:

代码语言:javascript
复制
result = (a & (b | c)) | (b & c);
票数 2
EN

Stack Overflow用户

发布于 2011-03-16 22:24:07

这样做的方法不止一种,但有一种可能是:

代码语言:javascript
复制
short majority(short a, short b, short c)
{
    return (a & b) | (b & c) | (c & a);
}

由于这是家庭作业,我会让你自己工作,这是如何/为什么,看看你能不能想出一个替代的,也许更好的解决方案。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5332543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档