C VB implements conversion between hexadecimal and hexadecimal

  • 2020-05-07 20:20:48
  • OfStack

method 1:
 
int d=10; 
d.ToString("x") // Or the x I'm going to change it to X, theta, theta, and that's going to be a 16-bit string.  
int x=Convert.ToInt32(d.ToString("x"),16); / / converts hexadecimal string to hexadecimal string.  

method 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()); 
} 
} 

Related articles: