. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
基础知识
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
进制之间的乘法?
[待解决]
回复[
5
次 ] 点击[
567
次 ]
fang
[帖 主]
[ 发表时间:2009-10-29 18:16 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2008-12-30 12:38
我只懂简单的进制转换,能不能详细的说一下。
十进制是逢十进一,十六进制是逢十六进一,同理二进制是逢二进一。还有进制之间的乘法?
abob
[第
1
楼]
[ 回复时间:2009-10-30 10:35 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
进制之间的乘法?
------------
比较基础的方法是都统一换算成十进制计算,然后再转换到需要的进制。(数的大小是定的,进制的表示只是表现的形式而已。)
还有一个小技巧是,如果其中一个乘数是基数的xx次方,计算比较简单。
比如:
十进制乘法3*10,因为10等于十进制基数10的1次方。所以结果就等于30了。
同理:
十六进制乘法3h*10h,因为10h等于十六进制基数16的1次方。所以结果就等于30h了。
用十进制计算的思路去分析其他进制的计算,自己就可以摸索出一些技巧来。
thedaydreamwang
[第
2
楼]
[ 回复时间:2009-11-25 02:58 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
今天试了下只有20h*20h =400h的时候正确
25h*25h=625h 错误 25h*25h=37*37= 1369 625h=1573两个结果不一样
25h*25h=(20h+5)*(20h+5)=400h+25+5(20h)=400h+ 25+5*2*16=400h +185=4B8h 185=B8h
总结问题出在5*(20h)上面这个时候需要经过转换才能计算不然结果就有了偏差
thedaydreamwang
[第
3
楼]
[ 回复时间:2009-11-25 02:59 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
呵呵少乘了一个2
thedaydreamwang
[第
4
楼]
[ 回复时间:2009-11-25 03:15 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2009-10-07 14:18
185*2=370= 182h 最后的结果为182h+400h =582h
25h*25h=582h
xshz
[第
5
楼]
[ 回复时间:2010-08-29 15:26 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2010-08-24 22:41
25h*25h =25h*20h + 25h*5h
= 4a0h + b9h (满16进1)
= 559h
=5*(16*16)+5*(16)+9*(1) = 1369 (16进制转换10进制)
刚学的,供参考。
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved