NOTICE: 本题代码是按照源码顺序贴上的,复制可直接运行
环境: Visual Stdio Code
说明:本篇转换思路参考 小甲鱼-进制转换 不要喷,小编口水过敏~谢谢各位少侠
分析:
用栈实现进制转换需要有:栈的初始化函数、入栈函数、出栈函数、显示栈元素等函数。而且需要考虑一个问题:怎么才能让输入的一个整型二进制数(如:1100)按位一 一入栈?
入栈原理图:
即:我们可以利用 char 类型进行存储,这样计算机自动将每一位设置一个地址,这样就能实现按位入栈,从而能够按位出栈。
代码:
初始化:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define STACK_INIT_SIZE 10 // 存储空间初始分配量
#define STACKINCREMENT 1 // 存储空间分配增量
#define OK 1
#define ERROR 0
typedef int Status;
typedef char SElemType;