(a+b)$(~b)结果与a,b有什么关系?

yehuotaizi 2004-06-10 09:39:05
int a,b
c=a+b;
c$=~b;

c与a,b有什么关系?

...全文
196 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
烂笔头Danky 2004-06-11
  • 打赏
  • 举报
回复
要知道它们三个有什么关系要通过程序要实现的功能才可以说得出来呀,就凭这几条代码它们只是几个表达式而已,干吗要这样做只有写它们的人才知道!
Zark 2004-06-11
  • 打赏
  • 举报
回复
如果有
int a, b, c;
c=a+b;
c&=~b;

这时候c是就是a.

antijpn 2004-06-11
  • 打赏
  • 举报
回复
这个真不知道是什么意思,干什么用的?加密?

个人觉得好像这样的代码没有太大的意义,因为把算术操作符和位操作连在一起的话得到的结果很可能是非常古怪的东西(譬如两个大数据相加)
zhangze 2004-06-11
  • 打赏
  • 举报
回复
int a,b
c=a+b;
c&=~b;

关系式:
c=(a+b)&(~b);
如果a=1,b=2;假设是字节
c=(a+b)&(~b)=3&0xfd=1=a;
a+b的二进制结果:00000011=3
~b的二进制结果:11111101=0xfd
3&0xfd=1;
yehuotaizi 2004-06-11
  • 打赏
  • 举报
回复
我是在一个播放器的源码里看到的

原来的是:

/* Shared memory buffer for audio samples */
audio_sample_buffer_size = AUDIO_PREBUF * audio_frequency * audio_n_chans * 2 / 1000;
audio_sample_buffer_size += audio_fragment_size - 1;
audio_sample_buffer_size &= ~(audio_fragment_size - 1);

我看不出来有什么奥秘的
不理解
gamegod 2004-06-10
  • 打赏
  • 举报
回复
中间的那个字符是什么?美元符号?难道不是按位与的操作符?c和a,b的关系就是c是他们的和呀!
neophyte111 2004-06-10
  • 打赏
  • 举报
回复
$是什么玩意呀,也是运算符么,没见过啊
yehuotaizi 2004-06-10
  • 打赏
  • 举报
回复
不好意思写错了应该是&而非$

如果是他们的和那又何必有c&=~b;呢

69,337

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧