进制转换练习

10 分钟

十进制换二进制,办法是除 2 取余、倒着读:拿数一直除以 2,每次把余数记下来,除到 0 为止,再把记下的余数从后往前读,就是二进制。反过来,二进制换十进制,就是前面学的按位乘权再相加。

把 19 转成二进制:

#include <iostream>
using namespace std;
int main() {
    int n = 19;
    int digits[32], cnt = 0;
    while (n > 0) {
        digits[cnt++] = n % 2;  // 记下余数
        n /= 2;
    }
    for (int i = cnt - 1; i >= 0; i--)  // 倒着读
        cout << digits[i];
    cout << endl;               // 10011
    return 0;
}

会打印 10011。

关键就在倒着读:先算出来的余数是最低位,最后算出的才是最高位。要是顺着读,19 就成了 11001,正好反了。所以务必从后往前输出。

小纸条

把 19 转成二进制。

登录 后可看答案

进制转换练习 · C++ 入门 · op599 课程