手机
当前位置:查字典教程网 >编程开发 >C#教程 >C# VB 实现10进制 16进制之间互相转换
C# VB 实现10进制 16进制之间互相转换
摘要:方法1:复制代码代码如下:intd=10;d.ToString("x")//或把x改为X,,,就变成了16位的字符串了.intx=Conve...

方法1:

复制代码 代码如下:

int d=10;

d.ToString("x") //或把x改为X,,,就变成了16位的字符串了.

int x=Convert.ToInt32(d.ToString("x"),16);//把16进制的字符串变回10进制的.

方法2:

复制代码 代码如下:

static void Main()

{

int i = 446;

string hex = i.ToString( "X" /* or x * );

Console.WriteLine( hex );

int j = HexToInt( hex );

Console.WriteLine( j );

}

static int HexToInt(string hex)

{

hex = Regex.Replace(hex, "^0x", "", RegexOptions.IgnoreCase);

if (Regex.IsMatch(hex, "[g-z]", RegexOptions.IgnoreCase))

{

throw new Exception("Invalid Hexadecimal Expression.: 0x" + hex);

}

char[] chars = hex.ToUpper().ToCharArray();

Array.Reverse(chars);

int dec = 0;

for (int i = 0; i < chars.Length; i++)

{

dec += HexMapping(chars[i]) * (int)Math.Pow(16, i);

}

return dec;

}

static int HexMapping(char c)

{

switch (c)

{

case '0':

return 0;

case '1':

return 1;

case '2':

return 2;

case '3':

return 3;

case '4':

return 4;

case '5':

return 5;

case '6':

return 6;

case '7':

return 7;

case '8':

return 8;

case '9':

return 9;

case 'A':

return 10;

case 'B':

return 11;

case 'C':

return 12;

case 'D':

return 13;

case 'E':

return 14;

case 'F':

return 15;

default :

throw new Exception("Invalid Hexadecimal Character :" + c.ToString());

}

}

【C# VB 实现10进制 16进制之间互相转换】相关文章:

C#全角半角转换函数代码分享

C#词法分析器之转换DFA详解

利用C#实现分布式数据库查询

C#中通过API实现的打印类 实例代码

C# IP地址与整数之间转换的具体方法

C#实现图片分割方法与代码

C# Stream 和 byte[] 之间的转换

C# 图片与二进制转换的简单实例

C#实现路由器断开连接,更改公网ip的实例代码

C# byte数组与Image相互转换的方法

精品推荐
分类导航