我正在使用 ISO8583 格式,我以2字节二进制格式获取消息长度。我需要使用C将其转换为整数。在C#中,这可以通过以下方式实现:
byte B1 = 0xFE;
byte B2 = 0xFC;
int r = (B1 << 8) | B2;
我们如何在C中完成。请帮助
由于
答案 0 :(得分:1)
它与在C#中执行它几乎相同。 如上所述,您将字节类型更改为可比较的c / c ++类型。 您可以使用unsigned char或其中一种int8类型:int8_t,uint8_t。签名和未签名。 OR操作与C#完全相同。我得到的结果是65276。 e.g。
#include <iostream>
using namespace std;
int main() {
uint8_t B1 = 0xFE;
uint8_t B2 = 0xFC;
unsigned int r = (B1 << 8) | B2;
cout << r << endl;
return 0;
}