欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 金融 > C#二进制、十进制、十六进制数据转换

C#二进制、十进制、十六进制数据转换

2024/10/24 9:26:47 来源:https://blog.csdn.net/panjinliang066333/article/details/139982734  浏览:    关键词:C#二进制、十进制、十六进制数据转换

目录

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");}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com