请问4怎么在反汇编中变成80000003是什么?十六进制? 还是not补码了?怎么计算的?
4条回答 默认 最新
- MysticalDream 2022-08-20 19:47关注
80000003就是80000003H,是十六进制。至于为什么是80000003,其实对于取余运算,如果一个数a满足a=2^b,那么可以等效如下计算d%a=d&(a-1)。
也就是t%4=t&(4-1)=t&3
80000003
的二进制就是10000000000000000000000000000011
不看最高位的1
就是3
感觉这个汇编应该是经过优化的,没有使用除法计算本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录