C# 单个函数实现各进制数间转换

一个函数实现2,8,10,16进制之间的转换,需要输入原值、原值进制、目标进制,之后以字符串形式返回。

cs 复制代码
        /// <summary>
        /// 实现各进制数间的转换。ConvertBase("15",10,16)表示将十进制数15转换为16进制的数。
        /// </summary>
        /// <param name="value">要转换的值,即原值</param>
        /// <param name="from">原值的进制,只能是2,8,10,16四个值。</param>
        /// <param name="to">要转换到的目标进制,只能是2,8,10,16四个值。</param>
        public static string ConvertBase(string value, int from, int to)
        {
            try
            {
                int intValue = Convert.ToInt32(value, from);  //先转成10进制
                string result = Convert.ToString(intValue, to);  //再转成目标进制
                if (to == 2)
                {
                    int resultLength = result.Length;  //获取二进制的长度
                    switch (resultLength)
                    {
                        case 7:
                            result = "0" + result;
                            break;
                        case 6:
                            result = "00" + result;
                            break;
                        case 5:
                            result = "000" + result;
                            break;
                        case 4:
                            result = "0000" + result;
                            break;
                        case 3:
                            result = "00000" + result;
                            break;
                    }
                }
                return result;
            }
            catch
            {

                //LogHelper.WriteTraceLog(TraceLogLevel.Error, ex.Message);
                return "0";
            }
        }
相关推荐
青槿吖5 分钟前
Feign 微服务远程调用指南:告别手写 RestTemplate
java·redis·后端·spring·微服务·云原生·架构
Ulyanov6 分钟前
《玩转QT Designer Studio:从设计到实战》 QT Designer Studio环境搭建与核心工作区详解
开发语言·python·qt·系统仿真·雷达电子战系统仿真
不知名的老吴7 分钟前
案例教学:最长递增子序列问题
数据结构·算法·动态规划
私人珍藏库7 分钟前
[Windows] Iobit Uninstall_v15.4.0.1
windows·软件·win·多功能
样例过了就是过了7 分钟前
LeetCode热题100 杨辉三角
c++·算法·leetcode·动态规划
Zzzzmo_9 分钟前
【JavaEE】多线程04—线程池/定时器
java·线程池·定时器·javaee
Makoto_Kimur10 分钟前
Spring用了哪些设计模式?
java·spring·设计模式
前端摸鱼匠11 分钟前
【AI大模型春招面试题22】层归一化(Layer Norm)与批归一化(Batch Norm)的区别?为何大模型更倾向于使用Layer Norm?
开发语言·人工智能·面试·求职招聘·batch
阿巴斯甜12 分钟前
UnaryOperator的使用:
java
曼岛_12 分钟前
[逆向工程]160个CrackMe入门实战之Andrnalin.2解析(九)
java·数据库·microsoft·逆向