如何将10进制转成16进制,又如何将16进制数转成10进制,C#和VB代码?
生活随笔
收集整理的這篇文章主要介紹了
如何将10进制转成16进制,又如何将16进制数转成10进制,C#和VB代码?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
方法1:
int ? d=10; ?
? ?
? d.ToString("x") ? //或把x改為X,,,就變成了16位的字符串了. ?
? ?
? int ? x=Convert.ToInt32(d.ToString("x"),16);//把16進制的字符串變回10進制的.
?
方法2:
?
Codestatic???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());???
??????????????????????????}???
??????????????????}
?
總結
以上是生活随笔為你收集整理的如何将10进制转成16进制,又如何将16进制数转成10进制,C#和VB代码?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vc c语言坐标图,VC++6.0下C语
- 下一篇: java 动态执行代码_java中动态执