细节我都写注释里了
完整代码
# include <iostream>
using namespace std;
int main()
{
//定义十进制变量,初始化数组
int n, arr[100];
//下标值
int i = 0;
cout << "请输入一个十进制数字:" << endl;
for (cin >> n; n != 0; ++i)
{
/*/这里例如n=100
arr的第一个数值 = (100%2 = 0)
第一次n = (100/2 = 50)
arr的第二个数值 = (50%2 = 0)
第二次n = (50/2 = 25)
依次类推直到n为0/*/
arr[i] = n % 2;
n = n / 2;
}
//cout << i << endl;
// 注意:数组里面存的是倒序的二进制,输出的时候需要倒序输出
/*/ 按照上面100的例子,此时i=7,但起始值是从0开始。所以需要减一得到数组最后一个数,循环体进行完再-1
得到倒数第二个值,直到i=0结束循环体,最后得到倒序的二进制数/*/
for (--i; i >= 0; --i)
{
cout << arr[i];
}
cout << endl;
system("pause");
return 0;
}