是否有更快的方式除以2,带符号,在汇编中比下例中的那个?
...
mov ecx, 2
idiv ecx
push eax #push the result
...
Run Code Online (Sandbox Code Playgroud)
Gre*_*ill 21
当然:
sar eax, 1
Run Code Online (Sandbox Code Playgroud)
所述sar操作码不同于shr在该最显著(符号)位被保存在sar,并且它是在设置为0 shr.维基百科上的算术转换页面在一般上下文中显示了有关此操作的更多详细信息.
请注意,在2的补码机器(x86是)上实际计算floor(eax / 2).特别是,这意味着对于整数x:
后一种结果给出了可能意外的结果.例如,-3 sar 1导致-2,而不是-1.另一方面,3 sar 1导致1.
| 归档时间: |
|
| 查看次数: |
10442 次 |
| 最近记录: |