编写一个C#Stack栈实现十进制向二进制相互转换
时间: 2024-02-21 07:58:24 浏览: 109
好的,以下是一个简单的C#Stack栈实现十进制向二进制转换的代码示例:
```csharp
using System;
using System.Collections;
class DecimalToBinaryConverter {
static void Main(string[] args) {
int decimalNumber = 10; // 要转换的十进制数
Stack binaryStack = new Stack();
while (decimalNumber > 0) {
int remainder = decimalNumber % 2;
binaryStack.Push(remainder);
decimalNumber /= 2;
}
Console.Write("转换后的二进制数为:");
while (binaryStack.Count != 0) {
Console.Write(binaryStack.Pop());
}
}
}
```
这个代码实现了将十进制数 10 转换成二进制数的功能。首先,我们定义了要转换的十进制数为 10,然后创建了一个 Stack 对象 binaryStack 来存储二进制数的每一位。接下来,我们使用一个 while 循环来执行二进制转换的主要逻辑。在循环中,我们首先计算出十进制数的当前位的值,然后将其推入 binaryStack 中。最后,我们将十进制数除以 2,以便进行下一次迭代。
一旦二进制数的每一位都被计算出来并推入了 binaryStack 中,我们使用另一个 while 循环来获取栈中的每一位并打印出来,从而得到最终的二进制数。
阅读全文