各进制转换成二进制

2017-08-11  本文已影响0人  AnotherA

while(true)

{

Console.WriteLine("请选择转换模式:\n 1 十进制转二进制 2 八进制转二进制 3 十六转二进制");intn =int.Parse(Console.ReadLine());switch(n)

{case1:

{

Console.WriteLine("请输入值");inta =int.Parse(Console.ReadLine());intsum= a;

Console.WriteLine("{0}的2进制为:", a);intnum =0;

stringstr="";int[] arr =newint[16];

do

{sum= a %2;//2或者8arr[num] =sum;

++num;

a = a /2;

}while(a >0);for(inti = arr.Length -1; i >=0; --i)

{str+= arr[i];

}

string str1 =str.TrimStart('0');//去除前面的0Console.WriteLine(str1);break;

}case2:

{

Console.WriteLine("请输入值");

string s = Console.ReadLine();

Console.WriteLine("{0}的2进制为:", s);char[] a = s.ToCharArray();//把输入的字符串分别存放进数组的每个下标对应位置int[] b =newint[s.Length];intsum=0;intd = s.Length;for(inti =0; i < s.Length; ++i)

{

string str1 =""+ a[i];

b[i] =int.Parse(str1);sum+= b[i] * (int)Math.Pow(8, d -1);

d = d -1;

}ints1 =sum;intnum =0;

stringstr="";int[] arr =newint[16];

do

{

s1 =sum%2;

arr[num] = s1;

++num;sum=sum/2;

}while(sum>0);for(inti = arr.Length -1; i >=0; --i)

{str+= arr[i];

}

string str2 =str.TrimStart('0');//去除前面的0Console.WriteLine(str2);break;

}case3:

{

Console.WriteLine("请输入值");

string s = Console.ReadLine();

Console.WriteLine("{0}的2进制为:", s);char[] a = s.ToCharArray();//把输入的字符串分别存放进数组的每个下标对应位置int[] b =newint[s.Length];intsum=0;intd = s.Length;

string str3 ="0x";

string str4 = s.Substring(0,2);

bool t = str3.Equals(str4);if(!t)

{for(inti =0; i < s.Length; ++i)

{if(a[i] >=65)

{intc = a[i];

b[i] = c -55;

}else{

string str1 =""+ a[i];

b[i] =int.Parse(str1);

}sum+= b[i] * (int)Math.Pow(16, d -1);

d = d -1;

}

}else{for(inti =2; i < s.Length; ++i)

{if(a[i] >=65)

{intc = a[i];

b[i] = c -55;

}else{

string str1 =""+ a[i];

b[i] =int.Parse(str1);

}sum+= b[i] * (int)Math.Pow(16, d -3);

d = d -1;

}

}ints1 =sum;intnum =0;

stringstr="";int[] arr =newint[16];

do

{

s1 =sum%2;

arr[num] = s1;

++num;sum=sum/2;

}while(sum>0);for(inti = arr.Length -1; i >=0; --i)

{str+= arr[i];

}

string str2 =str.TrimStart('0');//去除前面的0Console.WriteLine(str2);break;

}default:break;

}

}

上一篇 下一篇

猜你喜欢

热点阅读