C# 进制转化

//int转16进制  (long类型同样) 
int a=90;
string str= Convert.ToString(a,16); //5a --括号内16表示返回值的基数,必须是2,8,10,16.

//int转2进制
int a=90;
string str= Convert.ToString(a,2); //1011010

//int转byte
int a=90;
string str= Convert.Tobyte(a); //0x5a

//16进制转10
string hex = "5a";
Int aa = Convert.ToInt32(hex,16);//90--括号内16表示前面值的基数,必须是2,8,10,16.

//16进制转2进制
string hex = "5a";
string aa = Convert.ToString(Convert.ToInt32(hex, 16), 2); //1011010
//十六进制字符串转十进制 public string ConvertHexToIntStr(string hexstr) { if (hexstr.StartsWith("0x")) { hexstr = hexstr.Substring(2); } //如果不是有效的16进制字符串或者字符串长度大于16或者是空,均返回NULL if (!IsHexadecimal(hexstr) || hexstr.Length > 16 || string.IsNullOrEmpty(hexstr)) { return null; } if (hexstr.Length > 8) { return Convert.ToInt64(hexstr, 16).ToString(); } else if (hexstr.Length > 4) { return Convert.ToInt32(hexstr, 16).ToString(); } else { return Convert.ToInt16(hexstr, 16).ToString(); } } // 判断是否是十六进制格式字符串 public bool IsHexadecimal(string str) { const string PATTERN = @"[A-Fa-f0-9]+$"; return System.Text.RegularExpressions.Regex.IsMatch(str, PATTERN); }   

 

posted @ 2019-11-02 23:37  码农界的小学生  阅读(684)  评论(0编辑  收藏  举报