打印

请教怎样用码表实现乘法?

[复制链接]
1530|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
DAVIDYE|  楼主 | 2007-4-25 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
lixun00| | 2007-4-25 14:33 | 只看该作者

怎么个固定法?

使用特权

评论回复
板凳
DAVIDYE|  楼主 | 2007-4-25 16:06 | 只看该作者

怎么个固定法?

比如说单字节的十六进制数实现乘0.625;即R0*0.625送回R0!请指教

使用特权

评论回复
地板
lixun00| | 2007-4-25 17:09 | 只看该作者

结果是不是要为浮点数,若是?精度?1,2,还是3位小数

使用特权

评论回复
5
lbx_00| | 2007-4-25 19:45 | 只看该作者

16位乘法(积为32位)+32位除法(记录余数的)

r0*625,结果在除以1000就行了,实际上,我说的这两个子程序已经超出要求了,模拟竖式就可以轻松的编出这两个程序

使用特权

评论回复
6
DAVIDYE|  楼主 | 2007-4-26 09:25 | 只看该作者

RE:lixun00

结果取到小数点后一位,麻烦lixun00 讲解一下用查表法实现的思路,多谢了!

使用特权

评论回复
7
独占一江秋| | 2007-4-26 10:18 | 只看该作者

参照小学一年级小九九表

具体实现例:2x3=6
db 2,3,6,,,,,

使用特权

评论回复
8
lixun00| | 2007-4-26 12:30 | 只看该作者

如果空间受限,一种方法对单字节被乘数对8取模...

分类.如下:
mod(8)==0:  修正值为r(0)
mod(8)==1:  修正值为r(1)
.....
mod(8)==7:  修正值为r(7)
于是a*.0.625 = a>>1+int(r)

使用特权

评论回复
9
conwh| | 2007-4-26 17:14 | 只看该作者

按照单字节的存储,比较容易实现.

使用特权

评论回复
10
DAVIDYE|  楼主 | 2007-4-27 11:24 | 只看该作者

RE:lixun00 & conwh

多谢两位的指教!对于 lixun00 介绍的方法虽然一下子还看不透切,正在努力学习中!

使用特权

评论回复
11
DAVIDYE|  楼主 | 2007-4-30 09:20 | 只看该作者

再谢!

问题已基本弄清!多谢两位的热心帮助!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

235

帖子

2

粉丝