如何将2字节二进制转换为c语言的整数

时间:2018-03-06 18:09:06

标签: c binary unsigned-integer iso8583

我正在使用 ISO8583 格式,我以2字节二进制格式获取消息长度。我需要使用C将其转换为整数。在C#中,这可以通过以下方式实现:

byte B1 = 0xFE;
byte B2 = 0xFC;

int r = (B1 << 8) | B2;

我们如何在C中完成。请帮助

由于

1 个答案:

答案 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;
     }