Joh*_*Joh -1 c++
我有2个字符.我想像这样添加它们:
11000010
00010000
00010000 11000010
我的结果应该是一个int.(左侧的其他字节应为0)
我在做什么是这样的:
int i = (c2 <<8) + c1;
但这给了我一个与预期完全不同的价值.(当我+用一个替换时|)
+
|
谁能告诉我这里我做错了什么?非常感谢!
Bat*_*eba 5
char是signed你的平台上.
char
signed
如果您使用的unsigned char是类型c2,c1那么int表达式中每个术语的隐式提升将具有您所追求的效果.
unsigned char
c2
c1
int
归档时间:
7 年,11 月 前
查看次数:
240 次
最近记录: