阅读量:2
在C语言中,可以使用栈来实现进制转换。
首先,创建一个栈,并初始化为空栈。
然后,将要转换的十进制数不断除以目标进制,并将余数依次入栈,直到商为0为止。
最后,将栈中的元素依次出栈,即可得到转换后的结果。
以下是一个使用栈实现十进制转二进制的示例程序:
#include <stdio.h> #define MAX_SIZE 100 int stack[MAX_SIZE]; int top = -1; void push(int item) { if (top >= MAX_SIZE - 1) { printf("Stack Overflow\n"); return; } stack[++top] = item; } int pop() { if (top < 0) { printf("Stack Underflow\n"); return -1; } return stack[top--]; } void convertToBinary(int num) { while (num > 0) { push(num % 2); num /= 2; } printf("Binary representation: "); while (top >= 0) { printf("%d", pop()); } printf("\n"); } int main() { int decimalNum; printf("Enter a decimal number: "); scanf("%d", &decimalNum); convertToBinary(decimalNum); return 0; }
运行程序后,输入一个十进制数,程序将输出对应的二进制表示。
注意,这只是一个示例程序,可以根据需要进行修改以实现其他进制的转换。