利用栈实现十进制转二java
时间: 2024-11-23 12:21:11 浏览: 8
利用栈实现十进制转八进制java.docx
利用栈实现十进制转二进制的过程,通常涉及到将十进制数依次除以2并取余数的操作,每次的余数就构成了二进制数的一位。以下是简单的步骤:
1. **初始化**:创建一个空栈,用于存放二进制结果的每一位。
2. **输入处理**:对于给定的十进制数,循环进行除2取余操作直到商为0。
3. **转换过程**:
- 每次取余后,余数就是当前的二进制位。将其压入栈中,因为栈的特点是从后向前添加元素。
- 使用`int % 2`得到余数,然后`int / 2`去除当前位后的数值。
4. **构建二进制字符串**:从栈顶开始弹出元素,拼接成完整的二进制字符串。由于栈是从底到顶存储的,所以需要反转这个字符串。
5. **返回结果**:最后得到的就是十进制数对应的二进制表示。
以下是一个简单的Java示例代码片段:
```java
import java.util.Stack;
public class DecimalToBinary {
public static String decimalToBinary(int num) {
Stack<Integer> binaryStack = new Stack<>();
while (num > 0) {
int remainder = num % 2;
binaryStack.push(remainder);
num /= 2;
}
StringBuilder result = new StringBuilder();
while (!binaryStack.isEmpty()) {
result.append(binaryStack.pop());
}
return result.reverse().toString(); // 返回倒序的二进制字符串
}
public static void main(String[] args) {
System.out.println(decimalToBinary(10)); // 输出 "1010"
}
}
```
阅读全文