定点数乘法运算之原码一位乘法
最近开始学习定点数的乘法运算,原码的一位乘、两位乘和补码的一位乘和两位乘。因此在这写写笔记分享给大家,顺带检验一下自己的学习成果。 这篇文章介绍一下原码一位乘法的运算。
为了担心有些小伙伴不清楚,我先说明一下小学二年级的乘法公式:被乘数 * 乘数 = 积
被乘数[X]原=X~f . X~0 X~1 X2…Xn
乘数[Y]原=Yf . Y0Y1Y2…Yn,则
乘积[Z]原=(Xf⊕Yf ) . (0. X0 X1 X2 …Xn)(0 .Y1 Y2 …Yn)
其中Xf为被乘数符号,Yf为乘数符号
Xf⊕Yf : 这个为两符号位的异或运算,相同为0,不同为1。
eg:1⊕0=1 1⊕1=0
计算步骤要点:
第一步:初始部分积设全0,从乘数末位乘起。
第二步:乘数位为1,部分积加被乘数,结果右移一位。
第三步:乘数位为0,部分积加全0,结果右移一位。
第四步:重复上述操作直到乘数乘完为止。
注意:两操作数的绝对值相乘,符号位单独处理
多说无益,还是直接上例题吧!
例题:已知X=0.1101 Y=0.1011 求[X*Y]原。