(c#)对16进制数的加减

操作16进制的数据,对它进行基础的加减操作,梳理了两个不同思路的方法,记录一下。

一、方法1如下:

cs 复制代码
// <summary>
// 对十六进制数做加法,方式一
// </summary>
// <param name="iNum">要加多少(十进制)</param>
public string AddHex(int iNum)
{
      for(int i = 0; i < iNum; i++)
      {
           string strHex = "00FF00FF0001";
           string strHexLower = strHex.ToLower();
           int  iLocation = 11;
           char[ ]  ch = strHexLower.toCharArray();
           char  cTemp = ++ch[iLocation];
           while(cTemp > 'f')
           {
                ch[iLocation] = '0';
                iLocation--;
                ch[iLocation]++;
                cTemp = ch[iLocation];
           }
           if(cTemp > '9' && cTemp < 'a' )
           {
                ch[iLocation] = 'a';
           }
           else
           {
                ch[iLocation] = cTemp;
           }
           strHexLower = String.Concat(ch);

           return  strHexLower.toUpper();
       }
}

二、方法2如下:

cs 复制代码
// <summary>
// 对十六进制数做加法,方式二:
// </summary>
// <param name="iNum">要加多少(十进制)</param>
public string AddHex(int iNum)
{
     //int32数据类型范围为2的31次方(10位数,2开头); long(64位)数据类型范围为2的63次方(19位,9开头)
     string strHex = "00FF00FF0001";

     //int64.parse()是将一个字符串转化为64位整数类型;
     //strHex是输入的字符串;
     //System.Globalization.NumberStyles.HexNumber表示strHex这个字符串是十六进制格式的字符串
     int64  iHex10 = int64.parse( strHex , System.Globalization.NumberStyles.HexNumber );

     iHex10 = iHex10 + iNum;

     //iHex10是要转换的整数
     //16表示转换为16进制
     //这行代码表示,将 iHex10转换为16进制表示
     return Convert.ToString( iHex10 , 16 );
}
相关推荐
酷爱码2 分钟前
Python虚拟环境与Conda的使用方式详解
开发语言·python·算法
Epiphany.55622 分钟前
堆排序code
数据结构·c++·算法
秋山落叶万岭花开ღ25 分钟前
树的基本概念与操作:构建数据结构的层级世界
数据结构·python·算法
m0_5164846740 分钟前
C#winform多选框代码
开发语言·c#
I'mSQL1 小时前
Visual Studio 2022打包程序流程
ide·c#·自动化·.net·visual studio
金融小师妹1 小时前
解码美元-黄金负相关:LSTM-Attention因果发现与黄金反弹推演
大数据·人工智能·算法
1nv1s1ble1 小时前
记录rust滥用lazy_static导致的一个bug
算法·rust·bug
一线码农1 小时前
MinHook 对.NET底层的 SendMessage 拦截真实案例反思
c#·.net·windbg
MasterNeverDown1 小时前
.NET 异步编程的核心优势
c#·async·wait