(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 );
}
相关推荐
艾醒4 分钟前
大模型面试题剖析:模型微调和蒸馏核心技术拆解与考点梳理
算法
艾醒1 小时前
大模型面试题剖析:微调与 RAG 技术的选用逻辑
算法
NAGNIP2 小时前
一文弄懂MOE
算法
NAGNIP2 小时前
一文搞懂微调技术的发展与演进
算法
古译汉书2 小时前
蓝桥杯算法之基础知识(2)——Python赛道
数据结构·python·算法·蓝桥杯
地平线开发者2 小时前
LLM 中增量解码与模型推理解读
算法·自动驾驶
.Vcoistnt2 小时前
Codeforces Round 1043 (Div. 3)(A-E)
数据结构·算法
野犬寒鸦2 小时前
力扣hot100:搜索二维矩阵与在排序数组中查找元素的第一个和最后一个位置(74,34)
java·数据结构·算法·leetcode·list
BIGFISH20193 小时前
上下相机引导贴合的标定(绝对坐标方式)
c#
艾醒3 小时前
huggingface入门:如何使用国内镜像下载huggingface中的模型
算法