c++十进制转化为二进制
时间: 2023-08-03 11:37:58 浏览: 45
可以使用以下代码将十进制数转换为二进制数:
```c++
#include <iostream>
using namespace std;
int main()
{
int decimal, binary[32], i = 0;
cout << "Enter a decimal number: ";
cin >> decimal;
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
cout << "Binary number: ";
for (int j = i - 1; j >= 0; j--) {
cout << binary[j];
}
return 0;
}
```
该程序首先要求用户输入一个十进制数,然后使用 while 循环将其转换为二进制数,并将其存储在数组 binary 中。最后,程序将数组中的二进制数逆序输出,以显示正确的二进制表示形式。
相关问题
C++十进制转化为二进制的程序
二进制转换程序通常使用除2取余法来实现。例如,将十进制数字55转换为二进制,可以先将55除以2取余,得到1余1,然后将余数1作为最低位,将商27除以2取余,得到13余1,然后将余数1作为次低位,依此类推,最终得到110111作为55的二进制表示。
c++二进制转化为十进制代码
以下是C++中二进制转化为十进制的代码:
```
#include <iostream>
#include <cmath>
#include <string>
using namespace std;
int main() {
string n; // 定义字符串n
int sum = 0; // 定义转化为十进制的数字为sum
cout << "请输入二进制数字:";
cin >> n; for(int i = 0; i < n.size(); i++) {
// 边界条件判断
if(n[i] > '1') {
cout << "非法输入";
return 0; // 直接退出
}
// 判断当前字符串n[i]是否为1,因为不是1就是0,为0的话,0的2次方还是等于0,不需要加法运算。
if(n[i] == '1') {
int j = pow(2, n.size() - i - 1); // 这里考虑好二进制转化成十进制公式里面i和次方的关系
sum += j;
}
}
cout << sum << endl;
return 0;
}
```
该代码使用了字符串来存储二进制数字,然后通过循环遍历字符串中的每一位,判断是否为1,如果是1,则根据公式计算出对应的十进制数并加到sum中。最后输出sum即可。