2
19
它们都由内存中相同的位表示。这只是一个如何解释位的问题,这取决于您想要的值的范围。因此,两者都不是更密集的。
wikipedia
,在x86中,有用于无符号乘法的操作码(
|
3
10
这是在MS VC 2005中生成的程序集:
|
4
5
事实上,您几乎可以保证这些声明将编译成相同的代码。
唯一的区别是编译器将记住变量是否为
|
5
1
在本例中,根本没有成本差异。 |
6
1
使用
|
7
0
没有区别。您可以通过查看生成的汇编语言来判断。即使存在差异,您也应该意识到这是微观优化,正确的思考时间是在所有宏优化完成之后,这是您的工作,而不是编译器的工作。 |
8
0
宣布平原
|
9
0
通常情况下,您不会注意到实践中的任何差异,因此在我看来,最佳实践是根据它应该表示的值的特定于应用程序的语义来选择类型:使用无符号类型来表示无符号量;签名的也一样。虽然有人反对这种哲学,喜欢使用
另外,我不知道你为什么在问题中提到“类型转换”,而下面的代码示例中没有类型转换。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |