|
|
2
19
它们都由内存中相同的位表示。这只是一个如何解释位的问题,这取决于您想要的值的范围。因此,两者都不是更密集的。
wikipedia
,在x86中,有用于无符号乘法的操作码(
|
|
|
3
10
这是在MS VC 2005中生成的程序集:
|
|
4
5
事实上,您几乎可以保证这些声明将编译成相同的代码。
唯一的区别是编译器将记住变量是否为
|
|
|
5
1
在本例中,根本没有成本差异。 |
|
|
6
1
使用
|
|
7
0
没有区别。您可以通过查看生成的汇编语言来判断。即使存在差异,您也应该意识到这是微观优化,正确的思考时间是在所有宏优化完成之后,这是您的工作,而不是编译器的工作。 |
|
|
8
0
宣布平原
|
|
|
9
0
通常情况下,您不会注意到实践中的任何差异,因此在我看来,最佳实践是根据它应该表示的值的特定于应用程序的语义来选择类型:使用无符号类型来表示无符号量;签名的也一样。虽然有人反对这种哲学,喜欢使用
另外,我不知道你为什么在问题中提到“类型转换”,而下面的代码示例中没有类型转换。 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
|
Daniel Lobo · 使用约束进行优化 1 年前 |
|
Sergio · python中大量数字的乘法 1 年前 |
|
|
Sergey Dev · 临时表与表变量 1 年前 |
|
|
John · 减少C中的内存消耗++ 1 年前 |