C++ 未将 Bitflag 设置为其实际值
c++ unset bitflag to its real value
您好,是否可以以某种方式将位标志设置为其实际值?例
int a = 0x01 << 7
a = 128
如何将 128 转换回 7 ?
我试过^= , &= ~, &=
但我所做的一切都没有奏效。
如果您只设置了一个位,那么您可以使用"计数尾随零"操作,例如使用 gcc 或与 gcc 兼容的编译器:
int a = 128;
int bit = __builtin_ctz(a); // returns bit = 7
相关文章:
- 在未初始化映射的情况下,将值插入到映射的映射中
- 在 Mac 上使用 CMAKE 将 FFTW 和 FFTWPP 链接到项目中时未定义的符号
- 用于将C++代码转换为 Web 程序集的脚本未终止
- 这个失败的测试是将零添加到空指针未定义的行为、编译器错误还是其他什么?
- 将单个未唱的 int 发送到 VBO
- 从文件读取时未将值推回矢量
- wxWidgets 自动会议设置未将包含目录设置为 -Isystem,而是设置为 -I
- 二叉搜索树未将插入值加载到树中
- 获取线未将所有字符保存到字符串
- 系统( "bcdedit /set safeboot" ) 未将窗口设置为安全启动
- 错误 Valu_type 未将函数命名C++
- 编译器未将指向字符串文本的良好指针解释为方法的参数
- C++ 未将 Bitflag 设置为其实际值
- WritePrivateProfileString未将属性添加到末尾
- fprintf 未将"%"写入文件
- 未将指针列表正确传递给函数
- C++:int数组[a][b][C]={0};未将所有值设置为0.是那个指令错了,还是我的输出函数出了问题
- 错误:'class'未将类型命名为C++
- 未将此指针设置为const的构造函数会导致未检测到的问题
- 流未将"rn"转换为换行符