我想将一些字节转换为int。 到目前为止,这是我的代码:
unsigned char *bytePtr = (unsigned char *)[aNSDataFrame];
我想从这个unsigned char中取4个字节:
myFrame[10]
,myFrame[11]
,myFrame[12]
和myFrame[13]
并将其转换为整数。
答案 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];