c/c++语言开发共享C位操作/从一个字节到另一个字节复制一位

我知道如何设置一个位,清除一点,切换一下,并检查是否设置了一个位。

但是,我如何将bit,例如byte_1的nr 7复制到byte_2中的bit nr 7?

没有if语句(没有检查位的值)是可能的吗?

#include  #include  int main(){ int byte_1 = 0b00001111; int byte_2 = 0b01010101; byte_2 = // what's next ? return 0; } 

     byte_2 = (byte_2 & 0b01111111) | (byte_1 & 0b10000000); 

    您需要先从byte1读取该位,清除byte2上的位和/ or您之前读取的位:

     read_from = 3; // read bit 3 write_to = 5; // write to bit 5 the_bit = ((byte1 >> read_from) & 1) << write_to; byte2 &= ~(1 << write_to); byte2 |= the_bit; 

    请注意,另一个答案中的公式(如果将其扩展为使用变量,而不仅仅是第7位)是针对read_fromwrite_to是相同值的情况。

    需要了解更多c/c++开发分享C位操作/从一个字节到另一个字节复制一位,也可以关注C/ C++技术分享栏目---计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享C位操作/从一个字节到另一个字节复制一位相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/978817.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐