用c#数值转换 n进制向m进制的转换

用C#语言编写软件完成,N进制向M进制的转换。包括:2进制、8进制、10进制、16进制等之间的互相转换。 (1)创建界面,添加各种控件,完成布局; 2)在其中添加下拉列表控件列表中可选:2进制、8进制、10进制、16进制(3)添加文本框等控件用于输入待转换的数,转换后的数,以及提示信息等;(4)完成整数的转换: (5)完成实数的转换。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace 进制转换

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

 

        }

 

        private void buttonX1_Click(object sender, EventArgs e)

        {

            this.txtNewValue.Text = string.Empty;

            this.txtNewValue.Text = IntToAry(int.Parse(this.txtValue.Text.Trim()), int.Parse(this.comboBoxEx1.Text));

           

        }

 

        /// <summary>

        /// 万能进制转换

        /// </summary>

        /// <param name="xx">待转换数据</param>

        /// <param name="xx">需要装换成的进制</param>

        /// <returns></returns>

        public static string IntToAry(long xx, int Ary)

        {

            string a = "";

            while (xx >= 1)

            {

                int index = Convert.ToInt16(xx - (xx / Ary) * Ary);

                a = Base64Code[index] + a;

                xx = xx / Ary;

            }

            return a;

        }

 

        /// <summary>

        ///十进制转换成32进制

        /// </summary>

        /// <param name="xx">待转换的值</param>

        /// <returns></returns>

        public static string IntToi32(long xx)

        {

            string a = "";

            while (xx >= 1)

            {

                int index = Convert.ToInt16(xx - (xx / 32) * 32);

                a = Base64Code[index] + a;

                xx = xx / 32;

            }

            return a;

        }

 

        /// <summary>

        /// 十进制转换成36进制

        /// </summary>

        /// <param name="xx">待转换的值</param>

        /// <returns></returns>

        public static string IntToi36(long xx)

        {

            string a = "";

            while (xx >= 1)

            {

                int index = Convert.ToInt16(xx - (xx / 36) * 36);

                a = Base64Code[index] + a;

                xx = xx / 36;

            }

            return a;

        }

 

        /// <summary>

        /// 32进制转换成10进制

        /// </summary>

        /// <param name="xx">待转换的值</param>

        /// <returns></returns>

        public static long i32ToInt(string xx)

        {

            long a = 0;

            int power = xx.Length - 1;

 

            for (int i = 0; i <= power; i++)

            {

                a += _Base64Code[xx[power - i].ToString()] * Convert.ToInt64(Math.Pow(32, i));

            }

 

            return a;

        }

 

        /// <summary>

        /// 十进制转换成64进制

        /// </summary>

        /// <param name="xx">待转换的值</param>

        /// <returns></returns>

        public static string IntToi64(long xx)

        {

            string a = "";

            while (xx >= 1)

            {

                int index = Convert.ToInt16(xx - (xx / 64) * 64);

                a = Base64Code[index] + a;

                xx = xx / 64;

            }

            return a;

        }

 

        /// <summary>

        /// 64进制转换成10进制

        /// </summary>

        /// <param name="xx">待转换的值</param>

        /// <returns></returns>

        public static long i64ToInt(string xx)

        {

            long a = 0;

            int power = xx.Length - 1;

 

            for (int i = 0; i <= power; i++)

            {

                a += _Base64Code[xx[power - i].ToString()] * Convert.ToInt64(Math.Pow(64, i));

            }

 

            return a;

        }

        

        public static Dictionary<int, string> Base64Code = new Dictionary<int, string>() {

            {   0  ,"0"}, {   1  ,"1"}, {   2  ,"2"}, {   3  ,"3"}, {   4  ,"4"}, {   5  ,"5"}, {   6  ,"6"}, {   7  ,"7"}, {   8  ,"8"}, {   9  ,"9"},

            {   10  ,"a"}, {   11  ,"b"}, {   12  ,"c"}, {   13  ,"d"}, {   14  ,"e"}, {   15  ,"f"}, {   16  ,"g"}, {   17  ,"h"}, {   18  ,"i"}, {   19  ,"j"},

            {   20  ,"k"}, {   21  ,"l"}, {   22  ,"m"}, {   23  ,"n"}, {   24  ,"o"}, {   25  ,"p"}, {   26  ,"q"}, {   27  ,"r"}, {   28  ,"s"}, {   29  ,"t"},

            {   30  ,"u"}, {   31  ,"v"}, {   32  ,"w"}, {   33  ,"x"}, {   34  ,"y"}, {   35  ,"z"}, {   36  ,"A"}, {   37  ,"B"}, {   38  ,"C"}, {   39  ,"D"},

            {   40  ,"E"}, {   41  ,"F"}, {   42  ,"G"}, {   43  ,"H"}, {   44  ,"I"}, {   45  ,"J"}, {   46  ,"K"}, {   47  ,"L"}, {   48  ,"M"}, {   49  ,"N"},

            {   50  ,"O"}, {   51  ,"P"}, {   52  ,"Q"}, {   53  ,"R"}, {   54  ,"S"}, {   55  ,"T"}, {   56  ,"U"}, {   57  ,"V"}, {   58  ,"W"}, {   59  ,"X"},

            {   60  ,"Y"}, {   61  ,"Z"}, {   62  ,"-"}, {   63  ,"_"},

        };

 

        public static Dictionary<string, int> _Base64Code

        {

            get

            {

                return Enumerable.Range(0, Base64Code.Count()).ToDictionary(i => Base64Code[i], i => i);

            }

        }

    }

}

 

https://jingyan.baidu.com/article/2a1383287fd034474a134fb1.html

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632