C#/C++ 中字节数组与int类型转换


1.C#中int和byte[]转换:

/// <summary>
/// 把int32类型的数据转存到4个字节的byte数组中
/// </summary>
/// <param name="m">int32类型的数据
/// <param name="arry">4个字节大小的byte数组
public static bool ConvertIntToByteArray(Int32 m, ref byte[] arry)
{
    if (arry == null) return false;
    if (arry.Length < 4) return false;
    arry[0] = (byte)(m & 0xFF);
    arry[1] = (byte)((m & 0xFF00) >> 8);
    arry[2] = (byte)((m & 0xFF0000) >> 16);
    arry[3] = (byte)((m >> 24) & 0xFF);
    return true;
}

/// <summary>
/// 把byte数组中的前4个字节转换为int32类型的数据
/// </summary>
public static int ConvertByteArrayToInt(byte[] arry)
{
    return BitConverter.ToInt32(arry, 0);
}

 

2.C++中byte[]与int类型转换

//int --> BYTE[]:

int data = 0xFFFFFFFF;
unsigned char buf[4];
 
memcpy(buf, &data, sizeof(int));

//BYTE[] --> int :

memcpy(&data, buf, 4);

 

 

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM