首页
登录 | 注册

C#简单实现26进制

       在平常的生活和工作中我们最经常使用的是十进制,那么我们有没有想过自己写一个进制呢?例如说实现一个26进制。这就是我曾经的一个想法,在这里简单分享一下!

       首先,我们要实现26进制,我们要找到一些符号当做权位,用来记录这个数!我们很容易能想到刚好26个字母不多不少一一对应,可以用来做标记。像十进制一样逢十进一,我们可以逢Z进一,而这里的1用A来表示,2用B表示......依次用24用Y来代替,25用Z来代替。

       然后我们考虑进制转换的原理,不妨思考一下十进制转化二进制,就是用倒除的原理,把每次所得到的余数倒序写出来就是二进制,而26进制也可以拿这个倒除的原理,不断的拿余数除以26得到余数。接着把这些余数收集起来,依次取出就是我们的26进制了!想到这里是不是有些头绪了,方法也就不一而足了,下面是我个人的一个方法,这里用的是栈,代码如下:

 

       	/// <summary>
        /// 26进制
        /// </summary>
        /// <param name="num"></param>
        public static void SwitchDemo(int num)
        {
            //定义一个栈用来存储数据
            Stack stack=new Stack();
            //用来将所有的余数压入栈中,当商为零时压入最后一个余数跳出循环
            while (true)
            {
                //商
                int quotient = num / 26;
                //余数
                int remainder = num % 26;
                stack.Push(remainder);
                if (quotient == 0)
                {
                    break;
                }
            }
            int count = stack.Count;
            Console.Write("转化为26进制后是:");
            for (int i = 0; i < count; i++)
            {
                Console.Write((char)('a'+(int)stack.Pop()));
            }
            Console.WriteLine();
        }

 

 

 

 

 



2020 jeepxie.net webmaster#jeepxie.net
10 q. 0.009 s.
京ICP备10005923号