进制转换及API接口中的转换

//十进制转二进制
Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));
//十进制转八进制
Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));
//十进制转十六进制
Console.WriteLine("十进制166的十六进制表示: "+Convert.ToString(166, 16));
   
//二进制转十进制
Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32("111101", 2));
//八进制转十进制
Console.WriteLine("八进制 44 的十进制表示: "+Convert.ToInt32("44", 8));
//十六进制转十进制
Console.WriteLine("十六进制 CC的十进制表示: "+Convert.ToInt32("CC", 16));

-----------------------------------------------------------------------------------------------------

在API接口中,有的要求转换后的二进制保持位数即前面位数用"0"代替,顺便说下  C#中二进制是以字符串形式出现的,所以我们可以用FOR循环来给字符串前面加"n"个0

上程序,此程序显示的是“0”n位代码,其实如果能用逻辑“或”运算就不会这么麻烦了,但是我弄了好长时间~也没弄成~

public string DecimalToBinary(int decimalNum,n)
        {
            string binaryNum = Convert.ToString(decimalNum,2 );
            if (binaryNum .Length <n)
            {
                for (int i = 0; i <= n- binaryNum.Length; i++)
                {
                    binaryNum = "0" + binaryNum;
                }

            }
            return binaryNum;
 
        }

 

posted @ 2016-12-26 13:29  捡贝壳的孩子  阅读(341)  评论(0编辑  收藏  举报