纸上得来终觉浅,绝知此事要躬行。

 

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 }

 

posted on 2010-11-10 16:57  JRoger  阅读(1001)  评论(0编辑  收藏  举报

导航