十进制转换为二进制:
#include<stdio.h>
#define MAX 10//容量
int main() {
size_t stack[MAX];//数组栈
short topSize = -1;//栈顶标记
int objectNum = 123;//目标数值
printf("十进制: %d\n", objectNum);
while (objectNum) {//入栈
stack[++topSize] = objectNum % 2;
objectNum /= 2;
}
printf("二进制: ");
while (topSize != -1) {//出栈
if ((topSize + 1) % 4 == 0)
printf(" ");//每四个元素错开一个空格
printf("%d", stack[topSize--]);
}
return 0;
}
运行效果: