
面试高老师为您分享以下优质知识
二进制求余数的方法与十进制类似,但操作基于2的幂次。以下是具体步骤和示例:
一、整数部分的余数计算("除2取余,逆序排列"法)
- 用2整除十进制整数,记录每次的余数;
- 将商作为下一次除法的被除数,重复上述过程直到商为0;
- 将所有余数从后向前排列,得到二进制数。
示例
将十进制数23.375转换为二进制:
- 整数部分:23 ÷ 2 得余数1,商11 ÷ 2 得余数1,商5 ÷ 2 得余数1,商2 ÷ 2 得余数0,商1 ÷ 2 得余数1,商0 ÷ 2 得余数0;
- 余数逆序排列为10111,即23的二进制表示为10101。
二、二进制数的逐位除法(适用于大数或特定场景)
步骤
- 将除数左移,直到其值大于或等于被除数;
- 用左移后的除数减去被除数,得到余数;
- 将除数右移一位,重复上述过程直到余数小于除数。
示例
计算1101010 ÷ 101:
- 101左移4位得101000,1101010 - 101000 = 110100;
- 101左移3位得101000,110100 - 101000 = 1000;
- 101左移2位得10100,1000 < 10100,停止计算;
- 最终余数为1000(二进制)。
三、注意事项
小数部分:
采用"乘2取整法",将小数乘以2,取整数部分作为二进制位,重复直到小数部分为0。
工具辅助:对于复杂计算,可借助编程语言(如C语言)实现逐位运算。
通过以上方法,可高效完成二进制数的余数计算。