C#如何实现十六进制与十进制相互转换功能


这篇文章主要介绍了C#如何实现十六进制与十进制相互转换功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#如何实现十六进制与十进制相互转换功能文章都会有所收获,下面我们一起来看看吧。在程序中,十六进制的表示形式通常为字符串;而十进制则为数字整型(本质的内存存储都是01二进制)。数字的进制表示一般使用的不多,通常最大的需求是进制之间的相互转换。C#中提供了内置的转换方法,同时,我们也可以依据不同进制之间的规则自己实现进制之间的转换。对于进制的表免费云主机域名示,编程语言基本上都提供了特殊前缀表示不同进制的数字,一般0x/0X表示16进制、0o/0O表示8进制、0b/0B表示2进制,十进制数字则没有特殊前缀,直接输入数字即可。C#中没有对8进制数字的直接表示形式。对于这个几乎用不到的历史遗留的进制,编程中很少会使用。通常比较常用的是2进制和16进制。比如,下面举例的不同进制的数字表示形式:十六进制到十进制的转换可以通过下面的步骤实现:从十六进制数字的最右侧(个位)开始获取每一位的数字获取的数字乘以16^n,n从0开始将相乘后的结果相加到最终值以等值的十进制对应十六进制,比如 A或a作为10,B或b作为11下面的代码使用上面介绍的算法,实现将十六进制字符串转换为十进制数字,通过遍历十六进制的字符得到最后的值。使用正则验证传入的是否是合格的16进制字符串。基本逻辑和介绍的一致。参考文章中给出了更加清晰的逻辑处理,和介绍的处理算法完全逻辑一致,尤其Multiplier的使用,比较巧妙,推荐。代码如下:Convert.ToInt32的第二个参数可以指定进制数,从而转为32位的10进制int整型。同理,可以根据需要,将2进制、8进制的字符串转换为10进制的int类型。int.Parse(hexStr,System.Globalization.NumberStyles.HexNumber) 第二个参数指定当前为HexNumber数字,实现16转10进制。int.TryParse同理。实现步骤对应上面16转10进制的过程,代码如下:Convert.ToString(dec, 16)的第二个参数可以指定要换为的字符串的进制数。它转换的结构是小写表示的16进制,且个位数时为单数,即如果是5,其结果为”5″,如果是F,其结果为”F”。dec.ToString("X2")dec.ToString("X") 将整型转为16进制。X2表示个位是两位的16进制,比如5表示为”05″,F表示为”0F”。在用Hex格式表示二进制时很常用,2位16进制FF正好表示8位一个字节。X表示16进制格式。dec.ToString("x2")dec.ToString("x") 中使用小写x,则转换为对应的小写的16进制字符串,比如15转换为”f”或”0f”。【X对应为大写】。与.ToString()方法同样的格式化要求。string.Format("{0:X2}", dec)string.Format("{0:X}",dec) 将整型转为16进制。将decimal_2分别转换为16进制、8进制、2进制的字符串新建一个简单的Winform项目HEXAndDECInterConvert,窗体添加从16进制的TextBox输入框转为10进制TextBox输出框、从10进制的TextBox输入框转为16进制TextBox输出框。在输入框的TextChanged中,分别完成进制的转换关于“C#如何实现十六进制与十进制相互转换功能”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“C#如何实现十六进制与十进制相互转换功能”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注百云主机行业资讯频道。

相关推荐: PHP收到重复的Set-Cookie头怎么解决

本篇内容介绍了“PHP收到重复的Set-Cookie头怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP 输出重复的 Session Set-Cook…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 02/13 17:33
Next 02/13 17:33

相关推荐