
肖老师为您分享以下优质知识
二进制短除法(即短除法取余法)是用于将十进制数转换为二进制数的方法。其核心步骤如下:
一、基本步骤
用十进制数连续除以2,记录每次的余数。例如,将19转换为二进制:
- 19 ÷ 2 = 9 余 1
- 9 ÷ 2 = 4 余 1
- 4 ÷ 2 = 2 余 0
- 2 ÷ 2 = 1 余 0
- 1 ÷ 2 = 0 余 1
倒序排列余数
将所有余数从下往上排列,得到二进制结果。上述示例中,余数序列为10011,即19的二进制表示。
二、示例说明
以十进制数13为例:
13 ÷ 2 = 6 余 1
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1
倒序排列后得到1101,即13的二进制表示。
三、注意事项
无余数处理:
若最后余数为0,则直接在结果前补0。例如,8 ÷ 2 = 4 余 0,二进制为1000。
效率优化:可通过位运算(如右移和与运算)替代除法,提升计算速度。
四、代码实现(C++示例)
```cpp
include
using namespace std;
int main() {
int n;
cin >
>
n;
int cnt = 0;
while (n != 0) {
if (n % 2 == 1) cnt++;
n = n / 2;
}
cout