在c ++中添加两个字符

Joh*_*Joh -1 c++

我有2个字符.我想像这样添加它们:

  • 1个字符: 11000010
  • 2个字符: 00010000
  • 结果: 00010000 11000010

我的结果应该是一个int.(左侧的其他字节应为0)

我在做什么是这样的:

int i = (c2 <<8) + c1;
Run Code Online (Sandbox Code Playgroud)

但这给了我一个与预期完全不同的价值.(当我+用一个替换时|)

谁能告诉我这里我做错了什么?非常感谢!

Bat*_*eba 5

charsigned你的平台上.

如果您使用的unsigned char是类型c2,c1那么int表达式中每个术语的隐式提升将具有您所追求的效果.