接上篇的转化方法,最近又找到一种简便方法,通常在实际项目中实现的方式,源代码如下:
#include <iostream>
#include <stdlib.h>
using namespace std;
/**
说明:整型转二进制
参数:整型变量,长度为4的字符数组(函数外分配内存,4个字节)
返回值:是否转化成功
更新时间:2015/10/10*/
bool changeIntegerToBinary(int iNumIn, unsigned char *chNumOut){
//转接整型变量值
int *pNum = (int *)malloc (sizeof (int));
*pNum = iNumIn;
//将整型转二进制
memcpy (chNumOut, (char *)pNum, 4);
free (pNum);
return true;
}
/**
说明:二进制转整型
参数:整型变量,长度为4的字符数组(函数外分配内存,4个字节)
返回值:是否转化成功
更新时间:2015/10/10*/
bool changeBinaryToInteger(int iNumOut, unsigned char *chNumIn){
//转接整型变量值
int *pNum = (int *)malloc (sizeof (int));
//将整型转二进制
memcpy ((char*)pNum, chNumIn, 4);
iNumOut = *pNum;
free (pNum);
return true;
}
int main() {
//准备
unsigned char chNum[4]; //二进制
int iNum = 0;
changeIntegerToBinary(10, chNum); //将整型转化为二进制
//将二进制转整型
changeBinaryToInteger(iNum, chNum); //将二进制转化为整型
cout << iNum << endl;
system("pause");
return true;
}