将一些字节从unsigned char转换为int

时间:2014-03-21 11:08:06

标签: ios objective-c c char int

我想将一些字节转换为int。 到目前为止,这是我的代码:

unsigned char *bytePtr = (unsigned char *)[aNSDataFrame];

我想从这个unsigned char中取4个字节: myFrame[10]myFrame[11]myFrame[12]myFrame[13]并将其转换为整数。

3 个答案:

答案 0 :(得分:2)

int bytesToInt(unsigned char* b, unsigned length)
{

    int val = 0;

    int j = 0;

    for (int i = length-1; i >= 0; --i)
    {
        val += (b[i] & 0xFF) << (8*j);
        ++j;
    }
    return val;
}

答案 1 :(得分:1)

你可以做到,

int a;
a=myframe[10];
a=a<<8;
a=a|myframe[11];
a=a<<8;
a=a|myframe[12];
a=a<<8;
a=a|myframe[13];

这将创建包含那些字节的整数

答案 2 :(得分:1)

int val = *(const int*)&myFrame[10];