|
|
2
19
它们都由内存中相同的位表示。这只是一个如何解释位的问题,这取决于您想要的值的范围。因此,两者都不是更密集的。
wikipedia
,在x86中,有用于无符号乘法的操作码(
|
|
|
3
10
这是在MS VC 2005中生成的程序集:
|
|
4
5
事实上,您几乎可以保证这些声明将编译成相同的代码。
唯一的区别是编译器将记住变量是否为
|
|
|
5
1
在本例中,根本没有成本差异。 |
|
|
6
1
使用
|
|
7
0
没有区别。您可以通过查看生成的汇编语言来判断。即使存在差异,您也应该意识到这是微观优化,正确的思考时间是在所有宏优化完成之后,这是您的工作,而不是编译器的工作。 |
|
|
8
0
宣布平原
|
|
|
9
0
通常情况下,您不会注意到实践中的任何差异,因此在我看来,最佳实践是根据它应该表示的值的特定于应用程序的语义来选择类型:使用无符号类型来表示无符号量;签名的也一样。虽然有人反对这种哲学,喜欢使用
另外,我不知道你为什么在问题中提到“类型转换”,而下面的代码示例中没有类型转换。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |