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();
            }
        }
    }
  • 相关阅读:
    团队展示
    原型设计(结对第一次)
    第二次作业——个人项目实战
    第一次作业--准备篇
    课程作业四
    课程作业三
    课程作业二
    课程作业一
    图像处理------ 一阶微分应用 (转载)
    dennis gabor 从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换(转载)
  • 原文地址:https://www.cnblogs.com/qixinjian/p/4588546.html
Copyright © 2011-2022 走看看