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();
            }
        }
    }
  • 相关阅读:
    51nod 1463 找朋友 (扫描线+线段树)
    51nod 1295 XOR key (可持久化Trie树)
    51nod 1494 选举拉票 (线段树+扫描线)
    51Nod 1199 Money out of Thin Air (树链剖分+线段树)
    51Nod 1287 加农炮 (线段树)
    51Nod 1175 区间中第K大的数 (可持久化线段树+离散)
    Codeforces Round #426 (Div. 1) B The Bakery (线段树+dp)
    前端基础了解
    git 教程
    HIVE 默认分隔符 以及linux系统中特殊字符的输入和查看方式
  • 原文地址:https://www.cnblogs.com/qixinjian/p/4588546.html
Copyright © 2011-2022 走看看