C++ 十进制转二进制代码详解
这段代码实现了一个将十进制数转换为二进制数的程序。具体实现步骤如下:
- 定义一个字符数组 'arr' 用于存储二进制数,初始为空字符串。
- 定义一个整型变量 'len' 用于记录二进制数的长度,初始为 0。
- 从标准输入中读入一个十进制数 'n'。
- 进入循环,每次将 'n' 的二进制表示的最低位(即最右边一位)存入 'arr' 中,并将 'len' 加 1。
- 将 'n' 右移一位,相当于将 'n' 的二进制表示中最低位去掉。
- 重复步骤 4 和 5,直到 'n' 变为 0。
- 由于 'arr' 中存储的是二进制数的各位,需要从高位到低位输出,因此使用一个循环从 'arr' 的最高位开始输出每一位,并将 'len' 减 1。
- 输出换行符并返回 0,程序结束。
需要注意的是,在将字符 '0' 和 '1' 存入 'arr' 中时,需要使用单引号,即 '0' 和 '1',否则会编译错误。同时,在第二个 'while' 循环中,需要将 'len' 的初始值设为 'len - 1',否则会输出一个多余的空字符。
#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
char arr[32] = '';
int len = 0;
int n;
cout << '输入一个正整数:';
cin >> n;
while (n)
{
if (n & 1)
{
arr[len++] = '1';
}
else
{
arr[len++] = '0';
}
n >>= 1;
}
while (len >= 0)
{
cout << arr[len--];
}
cout << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/oLCt 著作权归作者所有。请勿转载和采集!