(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 );
}
相关推荐
imuliuliang5 小时前
关于数据结构在算法设计中的核心作用解析7
算法
2401_894915537 小时前
GEO 搜索优化完整源码从零部署:环境配置、集群搭建全流程
开发语言·python·tcp/ip·算法·unity
普通网友8 小时前
共识算法实现:从工作量证明到权益证明的演进
算法·区块链·共识算法
颜x小9 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
ldmd2849 小时前
地图生成算法(噪声篇-Perlin,Simplex,Value noise)
算法·go·地图生成
weixin_423652139 小时前
C#使用JObject
开发语言·c#
国科安芯9 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
小陈phd10 小时前
集成检索介绍
算法
小poop10 小时前
轮转数组:从暴力到最优,一题掌握算法复杂度分析
数据结构·算法·leetcode