使用十六进制而不是十进制更有效吗?

KOP*_*EUE 4 c# resharper hex decimal

您好我正在使用带有.net framework 4.5的visual studio 2015,如果它很重要并且我的Resharper一直建议我从十进制数转换为十六进制数.这是为什么 ?如果我使用十六进制,是否有任何表现奖励?

das*_*ght 8

源语言中的数字文字格式之间绝对没有性能差异,因为转换是由编译器完成的.从一种表示切换到另一种表示的唯一原因是代码的可读性.

使用十六进制文字的两种常见情况是表示颜色和位掩码.由于颜色表示通常在字节边界处分割,因此解析数字0xFF00FF要比16711935:十六进制格式告诉您红色和蓝色分量最大化,而绿色分量为零.另一方面,十进制格式要求您执行转换.

位掩码类似:当使用十六进制或八进制表示时,很容易看出哪些位是1,哪些位是零.所有你需要学习的是对应于十六进制数字十六位模式的短表0通过F.您可以立即告诉它将0xFF00高八位设置为1,并将低八位设置为0.65280对大多数程序员来说,做同样的事情要困难得多.


Eri*_* J. 5

在十进制与十六进制的代码中编写常量时,绝对没有性能差异.两者都将被转换为完全相同的IL并最终JITted到相同的机器代码.

使用对您正在进行的工作更有意义的表示,在您的代码解决的问题的上下文中更清晰,更容易理解.