您的位置:首页 > 编程语言 > C语言/C++

C++: byte和int的相互转化

2012-08-03 09:37 501 查看
byte不是一种新类型,在C++中byte被定义的是unsigned char类型;但在C#里面byte被定义的是unsigned int类型

//int转byte

void intToByte(int i,byte *bytes,int size = 4)

{

//byte[] bytes = new byte[4];

memset(bytes,0,sizeof(byte) * size);

bytes[0] = (byte) (0xff & i);

bytes[1] = (byte) ((0xff00 & i) >> 8);

bytes[2] = (byte) ((0xff0000 & i) >> 16);

bytes[3] = (byte) ((0xff000000 & i) >> 24);

return ;

}

//byte转int

int bytesToInt(byte* bytes,int size = 4)

{

int addr = bytes[0] & 0xFF;

addr |= ((bytes[1] << 8) & 0xFF00);

addr |= ((bytes[2] << 16) & 0xFF0000);

addr |= ((bytes[3] << 24) & 0xFF000000);

return addr;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: