输入一个十进制正整数,以二进制形式输出
采用倒除法( /2 取余)
判断这个数 /2 后的商是否为零,若为零,则跳出循环;否则将其余数存放起来
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
int arr[32] = {0};
int num;
int i = 0;
cout << "请输入一个正整数:";
cin >> num;
// 因为不明了要循环几次,所以用while
while (num != 0)
{
arr[i] = num % 2;
num = num / 2;
i++;
}
// 存放的时候是正着存放的,所以打印的时候要反着打印 例:6-->110,而数组中则是011
// 这里的i首先要减一,是因为循环中i指向下一个位置arr[3]
for (i--; i >= 0; i--)
{
cout << arr[i];
}
return 0;
}