我有两个字符= 4个字节,表示整数值(来自流)。
如何将这些复制到原始的int变量?
答案 0 :(得分:2)
这是一种可行的方法:
char a = 0x00FF;
char b = 0x0F0F;
int i = b << 16 | a;
但是:你必须担心字节序,以及int
签名的事实。
答案 1 :(得分:2)
最好从一开始就将{4}字节作为int
读取。但是,要将两个char转换为int,您可以使用
char ch1, ch2;
int i = (ch1 << 16) + ch2; // or ch2 << 16 + ch1
您需要知道订单是小端还是大端。