进制转换练习
约 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 转成二进制。
登录 后可看答案