早上好,下午或晚上,
预警:我知道这听起来像是我试图进行过早的优化,但我向你保证我不是。也就是说,如果您想尽您的能力而不向我指出有关“过早优化”的链接,请回答这个问题。
使用以 10 为基数和以 16 为基数的常量,是否可以注意到大量重复操作的性能差异?我看到人们在写
int b = a >> 0x1f;
很多而不是
int b = a >> 31;
这表明他们要么来自 C/C++ 背景,要么他们可能认为运算执行得更快(而且我不仅在谈论按位运算)。C# 编译器不是将所有常量都转换为相同的基数吗?或者在编写代码时使用基数 16 比基数 10 有什么优势吗?
非常感谢,