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";
            }
        }
相关推荐
张晓~1833994812116 分钟前
碰一碰发视频 系统源码 /PHP 语言开发方案
开发语言·线性代数·矩阵·aigc·php·音视频·文心一言
代码不停18 分钟前
Java前缀和算法题目练习
java·开发语言·算法
豆沙沙包?18 分钟前
2025年--Lc200- 414. 第三大的数(大根堆)--Java版
java·开发语言
courniche22 分钟前
分组密码常见结构简介
算法·密码学
一念&24 分钟前
每日一个C语言知识:C 指针
c语言·开发语言
在下木子生25 分钟前
SpringBoot基于工厂模式的多类型缓存设计
java·spring boot·缓存
涤生z26 分钟前
list.
开发语言·数据结构·c++·学习·算法·list
xxxxxxllllllshi29 分钟前
Java中Elasticsearch完全指南:从零基础到实战应用
java·开发语言·elasticsearch·面试·职场和发展·jenkins
无毁的湖光Al39 分钟前
日常问题排查-Younggc突然变长
java·jvm·后端
wu_jing_sheng043 分钟前
Python中使用HTTP 206状态码实现大文件下载的完整指南
开发语言·前端·python