用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