当前位置:  开发笔记 > 编程语言 > 正文

位操作员

如何解决《位操作员》经验,为你挑选了1个好方法。

如果我有两个十六进制的东西,我可以有人如何将它们的二进制加在一起得到一个值吗?

在C++中,说我有

unsigned char t = 0xc2;  // 11000010
unsigned char q = 0xa3;  // 10100011

我想要的是,以某种方式, 1100001010100011使用逐位运算符可能吗?

我想提取t和q的二进制形式并附加它们......



1> Brian R. Bon..:

是的,这是可能的.

只需使用left-bitshift运算符,使用至少16位整数向左移动8.然后将二进制OR或第二个值转换为整数.

unsigned char t = 0xc2; // 11000010 
unsigned char q = 0xa3; // 10100011
unsigned short s = (((unsigned short)t)<<8) | q; //// 11000010 10100011

或者将两个值放在包含2个字符的小区中(小心大端或小字节)将具有相同的位级结果.另一种选择是char [2].

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有