广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    如何在C#中实现进制间转换

    来源:网络收集  点击:  时间:2024-05-14
    【导读】:
    本文将为大家介绍在C#编程语言中,实现各进制之间相互转换的方法。此方法不需要引用其他外部DLL。工具/原料moreVisual Studio 2017方法/步骤1/8分步阅读

    1.首先打开VS软件,创建如下图所示的窗体及控件。下图中所示窗体较为简陋,请主要参考实现方法。

    2/8

    2.点击窗体中转换按钮时触发事件。此处最好加上try{}catch(){}方法,拦截错误信息,防止程序崩溃。如下图所示

    3/8

    3.十进制转换成三十二进制方法如下图。其中传入参数为待转换的十进制数值。调用此方法需要检验传入数值是否为正整数。

    4/8

    4.十进制转换成三十六进制方法如下图。其中传入参数为待转换的十进制数值。调用此方法需要检验传入数值是否为正整数。

    5/8

    4.三十二进制转换成十进制方法如下图。其中传入参数为待转换的三十二进制数值。

    6/8

    6.自己整理出了一种通用型转换进制的方法。需要传入待转换的数值及需要转换成的进制。如下图所示。

    7/8

    7.下图为所有进制的转换方法,其中包含每种进制数所对应的代码可自行修改。

    8/8

    以下为本次演示实例的源代码,供大家参考。

    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 + 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 + 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 + 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.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 + 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.ToString()] * Convert.ToInt64(Math.Pow(64, i));

    }

    return a;

    }

    public static Dictionaryint, string Base64Code = new Dictionaryint, 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 Dictionarystring, int _Base64Code

    {

    get

    {

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

    }

    }

    }

    }

    注意事项

    以上内容如需转载,请标明出处。

    如果对各位读者有帮助,请帮忙投票。谢谢!

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_757378.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 10:18:36  耗时:0.031
    0.0308s