用c++写十进制转二进制的代码
时间: 2023-12-03 13:42:20 浏览: 89
下面是一个简单的使用栈来进行十进制转二进制的 C++ 代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
void decimalToBinary(int num) {
stack<int> s;
while (num > 0) {
int rem = num % 2;
s.push(rem);
num /= 2;
}
while (!s.empty()) {
cout << s.top();
s.pop();
}
}
int main() {
int num = 10;
cout << num << " in binary is: ";
decimalToBinary(num);
cout << endl;
return 0;
}
```
该代码先创建了一个空白的栈 `s`,然后在 `while` 循环中,将给定的十进制数每次除以 2 并取余数,将余数压入栈中。最后,再从栈中依次取出每个元素并输出,实现了十进制转二进制的功能。
相关问题
用c++写十进制转二进制
### 回答1:
很高兴能够回答你的问题,使用 C 语言写十进制转二进制的程序可以参考下面的示例代码: int main()
{
int num;
printf("请输入一个十进制数字:");
scanf("%d", &num);
printf("转换后的二进制数字为:");
decimalToBinary(num);
return 0;
}
// 将十进制数字转换为二进制数字
void decimalToBinary(int n)
{
int remainder;
if (n <= 1)
{
printf("%d", n);
return;
}
remainder = n%2;
decimalToBinary(n/2);
printf("%d", remainder);
}
### 回答2:
在C语言中,可以使用以下代码将十进制数转换为二进制数:
```c
#include <stdio.h>
void decToBin(int num) {
if (num == 0) {
printf("0");
return;
}
int binary[32];
int i = 0;
while (num > 0) {
binary[i] = num % 2;
num = num / 2;
i++;
}
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
}
int main() {
int decimal;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
printf("其对应的二进制数为:");
decToBin(decimal);
return 0;
}
```
以上代码中,`decToBin` 函数将输入的十进制数转换为二进制数。代码首先判断输入是否为 0,如果是,则直接打印输出 0;否则,使用数组 `binary` 来存储每一位的二进制数。通过不断取余和除以 2 的操作,可以获得所有位的二进制数,并保存到数组中。最后,倒序输出数组中的二进制数即可。在 `main` 函数中,首先接收用户输入的十进制数,并调用 `decToBin` 函数进行转换。最后,输出转换后的二进制数。
运行程序后,用户将被要求输入一个十进制数,并将得到相应的二进制数作为输出结果。
### 回答3:
在C语言中,可以通过以下代码将十进制数转换为二进制数:
```c
#include <stdio.h>
void decimalToBinary(int decimal) {
int binary[32];
int i = 0;
// 将每一位的二进制数存储在数组中
while (decimal > 0) {
binary[i] = decimal % 2;
decimal = decimal / 2;
i++;
}
// 反向输出数组元素,得到二进制数
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
}
int main() {
int decimal;
printf("请输入一个十进制数: ");
scanf("%d", &decimal);
printf("转换为二进制数: ");
decimalToBinary(decimal);
return 0;
}
```
上述代码中,我们首先定义了一个函数`decimalToBinary`,该函数接受一个十进制数作为参数,并将其转换为对应的二进制数。我们使用一个数组`binary`来存储每一位的二进制数。通过不断除以2取余数的方式,将每一位的二进制数存储在数组中。最后,我们反向输出数组的元素,得到最终的二进制数。
在主函数`main`中,我们首先读取用户输入的十进制数,并调用`decimalToBinary`函数进行转换,并输出结果。
例如,如果用户输入的十进制数为10,则程序将输出对应的二进制数为`1010`。
使用c++进行十进制转二进制
以下是一个将十进制数转换为二进制字符串的C++函数:
```C++
#include <iostream>
#include <string>
using namespace std;
string decimal_to_binary(int decimal_num) {
string binary_str = "";
while (decimal_num > 0) {
binary_str = to_string(decimal_num % 2) + binary_str;
decimal_num = decimal_num / 2;
}
return binary_str;
}
int main() {
int decimal_num = 10;
string binary_str = decimal_to_binary(decimal_num);
cout << binary_str << endl; // 输出:1010
return 0;
}
```
这个函数与 Python 版本类似,使用了除法和取模操作,将余数添加到二进制字符串的前面。需要注意的是,C++中需要使用 `to_string` 函数将整数转换为字符串类型。
阅读全文