c/c++语言开发共享在C / C ++中读/写半字节(没有位字段)

是否有一种简单的方法可以在不使用位字段的情况下读取/写入字节中的半字节? 我总是需要读取两个半字节,但需要单独编写每个半字节。

谢谢!

    使用面具:

    char byte; byte = (byte & 0xF0) | (nibble1 & 0xF); // write low quartet byte = (byte & 0x0F) | ((nibble2 & 0xF) << 4); // write high quartet 

    你可能想把它放在宏中。

    您可以使用的最小单位是单个字节。 如果要管理这些位,则应使用按位运算符 。

    为方便起见,您可以创建一个伪联盟:

     union ByteNibbles { ByteNibbles(BYTE hiNibble, BYTE loNibble) { data = loNibble; data |= hiNibble << 4; } BYTE data; }; 

    像这样用它:

     ByteNibbles byteNibbles(0xA, 0xB); BYTE data = byteNibbles.data; 

      以上就是c/c++开发分享在C / C ++中读/写半字节(没有位字段)相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      www.ctvol.com true Article c/c++语言开发共享在C / C ++中读/写半字节(没有位字段)

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

      ctvol管理联系方式QQ:251552304

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

      (0)
      上一篇 2021年1月27日 上午4:05
      下一篇 2021年1月27日 上午4:07

      精彩推荐