首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

你们觉着C++位操作效率高吗?在平常编程中常用到吗

2013-01-28 
你们觉得C++位操作效率高吗?在平常编程中常用到吗?位操作有取反(~),异或(^),同或(~^),位与(&),位或(|)等,

你们觉得C++位操作效率高吗?在平常编程中常用到吗?
  位操作有取反(~),异或(^),同或(~^),位与(&),位或(|)等,大家在编程中常用到吗?
感觉用位操作可以少一些中间变量,但是可读性差了,各位觉得呢?
[解决办法]
理论上效率和C是一样的。表示一些状态,尤其是允许多状态同时存在的时候很方便。
[解决办法]

引用:
引用:理论上效率和C是一样的。表示一些状态,尤其是允许多状态同时存在的时候很方便。

多状态同时存在,指的是?能麻烦再想得细一些吗,谢谢,非常感谢!

引用:
引用:理论上效率和C是一样的。表示一些状态,尤其是允许多状态同时存在的时候很方便。

多状态同时存在,指的是?能麻烦再想得细一些吗,谢谢,非常感谢!


#define WORK1 0x00000001
#define WORK2 0x00000002
#define WORK3 0x00000004
...
DWORD dwStatus = WORK1 
[解决办法]
 WORK2;
if (WORK1 && dsStatus)
{
...
}
if (WORK2 && dsStatus)
{
...
}
if (WORK3 && dsStatus)
{
...
}

[解决办法]
引用:
引用:引用:理论上效率和C是一样的。表示一些状态,尤其是允许多状态同时存在的时候很方便。

多状态同时存在,指的是?能麻烦再想得细一些吗,谢谢,非常感谢!
引用:引用:理论上效率和C是一样的。表示一些状态,尤……


大致就是这个意思。这里应该用&,而不是&&,应该是笔误。
[解决办法]
IO库中的good,fail等状态,底下可能就是bit运算,只不过封装的好。

[解决办法]
另外最常用的是增加一个状态和去掉一状态,分别是:


[解决办法]
= some_state;

a &= ~some_state;
[解决办法]
感觉STL中的bitset挺好用的吧
[解决办法]
这个用得太多了,特别是嵌入式编程,很大一部分寄存器都是按位定义功能和表示状态的。
windows系统级也用得挺多的, 从API就能看出来,如窗口style 都是按位定义的
不存在可读性差的问题,用多了就觉得很自然
[解决办法]
游戏的触发系统用位很方便,可以减少传参的问题
[解决办法]
谁说位操作可读性差?
    fh=_sopen(argv[1],_O_BINARY
[解决办法]
_O_RDONLY
[解决办法]
_O_RANDOM,_SH_DENYWR);

[解决办法]
有些工作需要高性能的, 不用位操作简直是无解,如搜索引擎

64位整数,一个移位操作,只需要一条指令,如果你用整数加循环,要多少指令 
[解决办法]
看下flag寄存器

热点排行