zoukankan      html  css  js  c++  java
  • 进制转换

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ConsoleApplication19
    {
        class Program
        {
            static void Main(string[] args)
            {
                //第一步输入三个信息
                Console.Write("请输入你要转换的数字:");
                string s = Console.ReadLine();
                Console.Write("请输入你输入的进制类型:");
                double a = double.Parse(Console.ReadLine());
                Console.Write("请输入你要转换成的进制:");
                double b = double.Parse(Console.ReadLine());
    
                //第二步,其他进制转十进制
                double sum = 0;
                for (int i = 0; i < s.Length; i++)//for,初始条件是从0开始,到字符串的长度为止,顺着字符串索引在一步步走
                {
                    double mws = 0;
                    string zimu = s.Substring(i, 1);
                    if (zimu == "A")
                    {
                        mws = 10;
                    }
                    else if (zimu == "B")
                    {
                        mws = 11;
                    }
                    else if (zimu == "C")
                    {
                        mws = 12;
                    }
                    else if (zimu == "D")
                    {
                        mws = 13;
                    }
                    else if (zimu == "E")
                    {
                        mws = 14;
                    }
                    else if (zimu == "F")
                    {
                        mws = 15;
                    }
                    else
                    {
                        mws = double.Parse(zimu);
                    }
    
                    double zhishu = s.Length - 1 - i;
    
                    sum += mws * Math.Pow(a,zhishu);
                }
                Console.WriteLine(sum);
    
                //第三步,十进制转其他进制
                string jieguo = "";
                while (true)
                {
                    if (sum / b >= 1)
                    {
                        double yushu = sum % b;//取余数
                        if (yushu >= 10)
                        {
                            if (yushu == 10)
                            {
                                jieguo = "A" + jieguo;
                            }
                            if (yushu == 11)
                            {
                                jieguo = "B" + jieguo;
                            }
                            if (yushu == 12)
                            {
                                jieguo = "C" + jieguo;
                            }
                            if (yushu == 13)
                            {
                                jieguo = "D" + jieguo;
                            }
                            if (yushu == 14)
                            {
                                jieguo = "E" + jieguo;
                            }
                            if (yushu == 15)
                            {
                                jieguo = "F" + jieguo;
                            }
                        }
                        else
                        {
                            jieguo = yushu.ToString() + jieguo;
                        }
                    }
                    else//当除到sum比b小的时候,直接把sum加到结果字符串中
                    {
                        if (sum >= 10)
                        {
                            if (sum == 10)
                            {
                                jieguo = "A" + jieguo;
                            }
                            if (sum == 11)
                            {
                                jieguo = "B" + jieguo;
                            }
                            if (sum == 12)
                            {
                                jieguo = "C" + jieguo;
                            }
                            if (sum == 13)
                            {
                                jieguo = "D" + jieguo;
                            }
                            if (sum == 14)
                            {
                                jieguo = "E" + jieguo;
                            }
                            if (sum == 15)
                            {
                                jieguo = "F" + jieguo;
                            }
                        }
                        else
                        {
                            jieguo = sum.ToString() + jieguo;
                        }
                        break;
                    }
                    sum = (int)(sum / b);
                }
    
                Console.WriteLine(jieguo);
    
                Console.ReadLine();
            }
        }
    }
  • 相关阅读:
    23中设计模式详解
    C#中的partial,this关键字以及扩展方法
    笨重WebService与轻快的RestFul
    彻底理解Web Service
    WebService中的瘦客户端与富客户端
    [转]Sql Or NoSql,看完这一篇你就懂了
    [转]Mysql字符串截取总结:left()、right()、substring()、substring
    [转]ASP.NET Core on K8s 入门学习系列文章目录
    [转]CSDN-markdown语法之怎样使用LaTeX语法编写数学公式
    [转]我在传统行业做数字化转型(1)预告篇
  • 原文地址:https://www.cnblogs.com/qixinjian/p/4588546.html
Copyright © 2011-2022 走看看