用c++写十进制转二进制的代码
时间: 2023-12-03 07:42:20 浏览: 32
下面是一个简单的使用栈来进行十进制转二进制的 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++ 代码示例:
```cpp
#include <iostream>
#include <vector>
std::vector<int> decimalToBinary(int decimal) {
std::vector<int> binary;
while (decimal > 0) {
binary.push_back(decimal % 2);
decimal /= 2;
}
// 反转二进制向量,得到正确的二进制表示
std::reverse(binary.begin(), binary.end());
return binary;
}
int main() {
int decimal;
std::cout << "请输入一个十进制数:";
std::cin >> decimal;
std::vector<int> binary = decimalToBinary(decimal);
std::cout << "二进制表示为:";
for (int digit : binary) {
std::cout << digit;
}
return 0;
}
```
此代码将读取用户输入的十进制数,然后将其转换为二进制并输出结果。
注意:此代码假设输入的十进制数为正整数。如果要支持负数或小数,则需要进行适当的修改。