c++如何拼接两个char,然后把这个拼接好的16位的数据转化为一个long
时间: 2024-03-01 09:52:34 浏览: 113
vc++ 字符串类型转为整型,char转为long,char转为int
可以使用位运算符将两个char拼接成一个16位的short,然后再将这个short转换成long类型。具体实现可以参考以下代码:
```c++
char c1 = 'a';
char c2 = 'b';
// 拼接两个char
short s = ((short)c1 << 8) | c2;
// 将short转换成long
long l = (long)s;
```
这里使用了左移位运算符 `<<` 和按位或运算符 `|` 来将两个char拼接成short。左移位运算符可以将一个数的二进制表示向左移动指定的位数,而右侧空出的位用0填充。按位或运算符可以将两个数的二进制表示的对应位上的值进行或运算,如果两个数在同一位上都为1,则结果为1,否则为0。将两个char拼接成short时,先将c1左移8位,然后再与c2进行按位或运算,得到一个16位的short。最后将这个short转换成long类型即可。
阅读全文