目录
1、10进制整数转二进制BOOL数组
2、二进制BOOL数组转10进制整型
3、10进制转16进制字符串
4、16进制字符串转10进制
5、16进制字符串转二进制BOOL数组
6、二进制BOOL数组转16进制字符串
1、10进制整数转二进制BOOL数组
/// <summary>/// 10进制整数转二进制BOOL数组/// </summary>/// <param name="nData"></param>/// <returns></returns>public bool[] IntToBools(int nData){string str = Convert.ToString(nData, 2);int n = str.Length;bool[] bArray = new bool[n];if (n == 1){int temp = Convert.ToInt32(str);bArray[0] = Convert.ToBoolean(temp);}if (n > 1){for (int i = 0; i < n; i++){//char _temp = str[i];string strTemp = Convert.ToString(str[n - 1 - i]);int _temp = Convert.ToInt32(strTemp);bArray[i] = Convert.ToBoolean(_temp);}}return bArray;}
2、二进制BOOL数组转10进制整型
/// <summary>/// 二进制BOOL数组转10进制整型/// </summary>/// <param name="bArray"></param>/// <returns></returns>public int BoolsToInt(bool[] bArray){int nNum = 0;for (int i = 0; i < bArray.Length;i++ ){int temp = 0;if(bArray[i]==true){//temp = 2 ^ i;temp = (int)Math.Pow(2, i);}nNum = nNum + temp;}return nNum;}
3、10进制转16进制字符串
/// <summary>/// 10进制转16进制字符串/// </summary>/// <param name="nData"></param>/// <returns></returns>public string IntToHex(int nData){return nData.ToString("X");}
4、16进制字符串转10进制
/// <summary>/// 16进制字符串转10进制/// </summary>/// <param name="strHex"><16进制字符串/param>/// <returns>int整型数据</returns>public int HexToInt(string strHex){return Convert.ToInt32(strHex, 16); // 转换为10进制整数}
5、16进制字符串转二进制BOOL数组
/// <summary>/// 16进制字符串转二进制BOOL数组/// </summary>/// <param name="strHex"></param>/// <returns></returns>public bool[] HexToBools(string strHex){int nTemp = HexToInt(strHex);return IntToBools(nTemp);}
6、二进制BOOL数组转16进制字符串
/// <summary>/// 二进制BOOL数组转16进制字符串/// </summary>/// <param name="bArray"></param>/// <returns></returns>public string BoolsToHex(bool[] bArray){int nTemp = BoolsToInt(bArray);return IntToHex(nTemp);}
7、封装好的类
public class MyMathClass{/// <summary>/// 16进制字符串转二进制BOOL数组/// </summary>/// <param name="strHex"></param>/// <returns></returns>public bool[] HexToBools(string strHex){int nTemp = HexToInt(strHex);return IntToBools(nTemp);}/// <summary>/// 二进制BOOL数组转16进制字符串/// </summary>/// <param name="bArray"></param>/// <returns></returns>public string BoolsToHex(bool[] bArray){int nTemp = BoolsToInt(bArray);return IntToHex(nTemp);}/// <summary>/// 10进制整数转二进制BOOL数组/// </summary>/// <param name="nData"></param>/// <returns></returns>public bool[] IntToBools(int nData){string str = Convert.ToString(nData, 2);int n = str.Length;bool[] bArray = new bool[n];if (n == 1){int temp = Convert.ToInt32(str);bArray[0] = Convert.ToBoolean(temp);}if (n > 1){for (int i = 0; i < n; i++){//char _temp = str[i];string strTemp = Convert.ToString(str[n - 1 - i]);int _temp = Convert.ToInt32(strTemp);bArray[i] = Convert.ToBoolean(_temp);}}return bArray;}/// <summary>/// 二进制BOOL数组转10进制整型/// </summary>/// <param name="bArray"></param>/// <returns></returns>public int BoolsToInt(bool[] bArray){int nNum = 0;for (int i = 0; i < bArray.Length;i++ ){int temp = 0;if(bArray[i]==true){//temp = 2 ^ i;temp = (int)Math.Pow(2, i);}nNum = nNum + temp;}return nNum;}/// <summary>/// 16进制字符串转10进制/// </summary>/// <param name="strHex"><16进制字符串/param>/// <returns>int整型数据</returns>public int HexToInt(string strHex){return Convert.ToInt32(strHex, 16); // 转换为10进制整数}/// <summary>/// 10进制转16进制字符串/// </summary>/// <param name="nData"></param>/// <returns></returns>public string IntToHex(int nData){return nData.ToString("X");}