相关疑难解决方法(0)

无符号与有符号整数的性能

通过在有符号整数上使用无符号整数,是否有任何性能增益/损失?

如果是这样,这也是短期和长期的吗?

c c++ int unsigned integer

67
推荐指数
7
解决办法
3万
查看次数

无符号数学是否需要更多CPU指令?

取一个C++积分变量i,并假设你将它的值乘以2.

如果i有签名,我认为该操作在某种程度上是等效的,至少在数学上是:

i = i << 1;
Run Code Online (Sandbox Code Playgroud)

但是如果i类型是无符号的,那么因为无符号值不会溢出但是以模块的范围执行,大概是操作是这样的:

i = (i << 1) & (decltype(i))-1;
Run Code Online (Sandbox Code Playgroud)

现在,我认为实际的机器指令可能比乘法的一系列移位更简洁.但是现代的,比如x86,CPU是否会对unsigned/modulo数学有特定的指令?或者,与带有符号值的数学相比,使用无符号值执行数学运算往往会花费额外的指令?

(是的,在编程时关心这一点是荒谬的;我对纯粹的好奇感兴趣.)

c++ cpu unsigned

6
推荐指数
2
解决办法
990
查看次数

iPhone上"unsigned int"和"int"之间的性能有何不同?

或者重新提出问题:使用无符号值是否存在性能损失?

一般来说:IPhone ARM处理器上最高性能(16位签名?,32位签名?等)是什么?

iphone performance objective-c

5
推荐指数
3
解决办法
3429
查看次数

标签 统计

c++ ×2

unsigned ×2

c ×1

cpu ×1

int ×1

integer ×1

iphone ×1

objective-c ×1

performance ×1