各进制转换成二进制
来源:互联网 发布:center os安装windows 编辑:程序博客网 时间:2024/05/17 22:54
while (true) { Console.WriteLine("请选择转换模式:\n 1 十进制转二进制 2 八进制转二进制 3 十六转二进制"); int n = int.Parse(Console.ReadLine()); switch (n) { case 1: { Console.WriteLine("请输入值"); int a = int.Parse(Console.ReadLine()); int sum = a; Console.WriteLine("{0}的2进制为:", a); int num = 0; string str = ""; int[] arr = new int[16]; do { sum = a % 2;//2或者8 arr[num] = sum; ++num; a = a / 2; } while (a > 0); for (int i = arr.Length - 1; i >= 0; --i) { str += arr[i]; } string str1 = str.TrimStart('0');//去除前面的0 Console.WriteLine(str1); break; } case 2: { Console.WriteLine("请输入值"); string s = Console.ReadLine(); Console.WriteLine("{0}的2进制为:", s); char[] a = s.ToCharArray(); //把输入的字符串分别存放进数组的每个下标对应位置 int[] b = new int[s.Length]; int sum = 0; int d = s.Length; for (int i = 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; } int s1 = sum; int num = 0; string str = ""; int[] arr = new int[16]; do { s1 = sum % 2; arr[num] = s1; ++num; sum = sum / 2; } while (sum > 0); for (int i = arr.Length - 1; i >= 0; --i) { str += arr[i]; } string str2 = str.TrimStart('0');//去除前面的0 Console.WriteLine(str2); break; } case 3: { Console.WriteLine("请输入值"); string s = Console.ReadLine(); Console.WriteLine("{0}的2进制为:", s); char[] a = s.ToCharArray();//把输入的字符串分别存放进数组的每个下标对应位置 int[] b = new int[s.Length]; int sum = 0; int d = s.Length; string str3 = "0x"; string str4 = s.Substring(0, 2); bool t = str3.Equals(str4); if (!t) { for (int i = 0; i < s.Length; ++i) { if (a[i] >= 65) { int c = 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 (int i = 2; i < s.Length; ++i) { if (a[i] >= 65) { int c = 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; } } int s1 = sum; int num = 0; string str = ""; int[] arr = new int[16]; do { s1 = sum % 2; arr[num] = s1; ++num; sum = sum / 2; } while (sum > 0); for (int i = arr.Length - 1; i >= 0; --i) { str += arr[i]; } string str2 = str.TrimStart('0');//去除前面的0 Console.WriteLine(str2); break; } default: break; } }
阅读全文
0 0
- 各进制转换成二进制
- 十进制转换成二进制
- 十进制转换成二进制
- 十进制转换成二进制
- 二进制转换成字符串
- 十进制转换成二进制
- 字节转换成二进制
- 0.5转换成二进制
- 转换成二进制
- 转换成二进制
- 十进制转换成二进制
- 转换成二进制数
- 十进制转换成二进制
- 二进制转换成十进制
- 十进制转换成二进制
- 二进制及各进制的转换
- 图片转换成二进制与二进制转换成图片
- 把图片转换成二进制--把二进制转换成图片
- EMAIL的客户端程序
- zabbix 3.2安装
- break,continue,return 详解
- 2017年8月10日训练日记
- POJ 2657 Comfort(模拟+dfs)
- 各进制转换成二进制
- 怎样加入第三方客服功能?(百度商桥、美洽、53KF等)
- 快速排序
- 手工安装cordova插件到Android工程中
- HDU6105-二分匹配
- USACO17JAN Balanced Photo 平衡的照片
- C++中控制浮点数输出
- 线段树
- SSD的理解及应用