二进制小数的乘除运算规则如下:
一、二进制小数乘法
无符号整数乘法 - 补位至位数相同,逐位进行AND运算后移位累加。例如:`10010 * 11010`,通过逐位与运算并位移得到结果。
- 结果按位数划分整数和小数部分,符号位需单独处理(符号位为1表示负数)。
符号定点小数乘法
- 先按无符号整数规则计算,再根据符号位确定最终结果的正负。
小数乘法(乘2取整法)
- 将十进制小数乘以2,取整数部分作为二进制小数的一位,重复此过程直到小数部分为0或达到精度要求。例如:`0.125 * 2 = 0.25`(取0),`0.25 * 2 = 0.5`(取0),`0.5 * 2 = 1.0`(取1),最终结果为`0.001`。
二、二进制小数除法
符号处理
- 被除数和除数同号时商为正,异号时商为负。
整数部分除法
- 类似十进制除法,从高位开始比较,若被除数大于除数则减去除数并记录商1,否则商0。
小数部分处理
- 将余数左移一位(相当于乘以2),与除数比较,重复减法操作,记录商0或1,直到余数小于除数或达到精度要求。
注意事项:
符号定点运算中需注意补码表示法,避免符号位混淆;小数乘法中需控制精度以避免无限循环。