• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

将某一位置1清0的快速方法

电辛巴 2020-03-27 浏览量:911
将某一位置1清0的快速方法
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 使用位或,位与运算符。

    置1使用 |  int a|=0x01第一位置1

    清0使用 &。int a&=0x7f;第8位清0

    • 发布于 2020-03-30
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:4
  • void ReverseBit(int pos)//将某一位取反
    {
    if((pos >= 0) && (pos <= 31))
    {
    l_data ^= BIT_MASK(pos);
    }
    }

  • 可以用GPIOx->BSRR = GPIO_Pin; 来置1,用 GPIOx->BRR = GPIO_Pin;来清零​

  • 比如要将字节a的b位清0,可以用a&=~(1<<b)这样的方法 

  • cortex-m3以上级别核心的MCU,用位带映射速度最快,直接写0写1。 其他的只能读修改写三部。 

相关问题

问题达人换一批

将某一位置1清0的快速方法