【发布时间】:2012-12-16 01:21:37
【问题描述】:
我有 2 个字符:HIGH 和 LOW,我想将它们转换为对应于 HIGH + LOW 的 2 个左位的 int。
我试过类似的东西:
unsigned char high;
unsigned char low;
high = 128; // 10000000
low= 128; // 10000000
int result; (should be high 10000000 + 2 left bites of low 10 = 1000000010)
// To do
return result;
为更清晰而编辑。
我选择的解决方案是:
return high*4 + (low >> (CHAR_BIT - 2));
【问题讨论】:
-
char *HIGH; char *LOW;去掉星号。 -
结果 = (HIGH
-
你知道C有bitwise operators吗?
-
@ATaylor,这不是 OP 试图做的操作,但我猜你是在正确的轨道上。
-
@CarlNorum 是的,我知道,这就是为什么它是评论,而不是答案。但这就是我喜欢做的事情,当我想将两个字符转换为整数时。