源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# VB 实现10进制 16进制之间互相转换

  • 时间:2022-11-08 15:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# VB 实现10进制 16进制之间互相转换
[b]方法1:[/b]
[u]复制代码[/u] 代码如下:
int d=10; d.ToString("x") //或把x改为X,,,就变成了16位的字符串了. int x=Convert.ToInt32(d.ToString("x"),16);//把16进制的字符串变回10进制的.
[b]方法2:[/b]
[u]复制代码[/u] 代码如下:
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()); } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部