c#进制相互转换代码
各进制之间整数转换
1 //十进制转二进制
2 Console.WriteLine(Convert.ToString(69, 2));
3 //十进制转八进制
4 Console.WriteLine(Convert.ToString(69, 8));
5 //十进制转十六进制
6 Console.WriteLine(Convert.ToString(69, 16));
7
8 //二进制转十进制
9 Console.WriteLine(Convert.ToInt32(”100111101″, 2));
10 //八进制转十进制
11 Console.WriteLine(Convert.ToInt32(”76″, 8));
12 //十六进制转十进制
13 Console.WriteLine(Convert.ToInt32(”FF”, 16));
十进制向任意进制转换(包括小数)
1 ///<summary>
2 /// 将十进制数(包括小数)转换成任意进制
3 /// </summary>
4 /// <param name="DB">将要转换的数</param>
5 /// <param name="Type">转到的进制类型,例如:8</param>
6 /// <returns>字符串的结果</returns>
7 public static string tenToAny(double DB, int Type)
8 {
9 string H = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
10 long D;
11 double B;
12 string tempD="", tempB="";
13 D=(long)DB;
14 B = DB - D;
15 if (D == 0)
16 {
17 tempD = "0";
18 }
19 while (D != 0)
20 {
21 tempD = H[(((int)D % Type))] + tempD;
22 D = D / Type;
23 }
24 for (int i = 0; i < 7; i++)
25 {
26 if (B == 0)
27 {
28 break;
29 }
30 tempB += H[((int)(B * Type))];
31 B = B * Type - (int)(B * Type);
32 }
33 if (tempB == "")
34 {
35 return tempD;
36 }
37 else
38 {
39 return tempD + "." + tempB;
40 }
41 }
本博客内容,如需转载请务必保留超链接。Contact Me:Mail此处省略好几个字...
浙公网安备 33010602011771号