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

问个菜鸟问题

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

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

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

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

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