首页
社区
课程
招聘
问个菜鸟问题
2004-10-21 07:20 3046

问个菜鸟问题

2004-10-21 07:20
3046
汇编中 imul是怎样算术的啊?
为什么mul 90*90=5100
imul 90*90=3100

mul 12*96=a8c
imul 12*96=f88c

想了很久了都不知道为什么啊

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞1
打赏
分享
最新回复 (1)
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
无奈无赖 2004-10-21 11:21
2
0
mul:无符号数的乘法,90*90=5100(十六进制)
二进制表示:1011010*1011010=101000100000000
imul,有符号数的乘法,它将90的二进制当成有符号数来算,因为90的二进制最左边一位是1,表示负数,在计算机中负数是用它的补码来表示的,计算机先对它复原去掉符号再来计算,(1011010)补码=01110000
所以imul 90*90(十六进制)经计算机还原后就变成了
mul 1110000*1110000=11000100000000
即mul 70*70=3100(十六进制)
下同。
游客
登录 | 注册 方可回帖
返回