怎么编写利用栈实现二进制转换十六进制的完整C代码
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇文章为大家展示了怎么编写利用栈实现二进制转换十六进制的完整C代码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。/* 二进制转换为十进制 */#includ
千家信息网最后更新 2026年11月04日怎么编写利用栈实现二进制转换十六进制的完整C代码
本篇文章为大家展示了怎么编写利用栈实现二进制转换十六进制的完整C代码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
/* 二进制转换为十进制 */#include#include #define INCREMENT 8typedef char Elemtype;typedef struct Stack { Elemtype *top; Elemtype *base; int stackSize;}Stack;Stack *initStack( int n ) //栈初始化函数{ Stack *s = (Stack *)malloc(sizeof(Stack)); s -> base = ( Elemtype * )malloc( sizeof(Elemtype) * n ); if ( s -> base == NULL ) exit(0); s -> top = s -> base; s -> stackSize = n; return s;}void Push( Stack *s, Elemtype e ) //入栈函数{ if( s->top - s->base >= s->stackSize ) { s -> base = (Elemtype *)realloc( s->base, s->stackSize + INCREMENT * sizeof(Elemtype) ); if( !s->base ) exit(0); s->top = s->base + s->stackSize; s->stackSize = s->stackSize + INCREMENT; } *(s->top) = e; s->top++;}Elemtype Pop( Stack *s ) //出栈函数{ if( s->top == s->base ) exit(0); return ( *--(s->top) );}int StackLen( Stack *s) //求栈内元素数量{ return ( s->top - s->base );}int main(){ int length; int i; short int sum = 0; int index; int temp; Elemtype element; Stack *s = initStack( 16 ); Stack *p = initStack( 8 ); printf("请输入二进制数:\n"); scanf("%c", &element); while( element != '\n' ) { //将二进制数以字符型入栈,回车号结束输入 Push( s, element ); scanf("%c", &element); } length = StackLen( s ); while( StackLen( s ) ) { for( i=0,sum=0,index=1; (i<4)&&(StackLen(s)); i++ ) { //进制转换 '1' ----- ASC码为49 sum = sum + (Pop(s)-48) * index; index *= 2; } Push( p, sum ); } printf("转换十六进制数为:\n"); while( StackLen(p) ) { temp = Pop(p); if( temp >= '0' && temp <= '9' ) printf("%d", temp); else printf("%c", temp+'A'-10); } printf("\n"); return 0;}
上述内容就是怎么编写利用栈实现二进制转换十六进制的完整C代码,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
二进制
函数
代码
十六进制
内容
技能
知识
输入
字符型
简明
简明扼要
元素
十进制
字符
就是
数量
文章
更多
篇文章
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技活动banner
科技股互联网
河南真二互联网科技有限公司
金诺互联网科技
科技信息互联网
广州互联网科技公司
科技服务与互联网
西安互联网科技
凡科互联网科技
互联网金融 科技创新
互联网金融科技公司干啥的
昭通互联网科技选哪家
合肥互联网科技公司公章图片
领航科技大厦互联网公司
广州互联网高科技取餐柜
扫呗互联网科技有限公司
美国五大互联网科技公司市值多少
盐城市攀科互联网科技有限公司
互联网企业和网络科技有限公司
互联网科技自媒体灵感
互联网科技工作委员会副主任毛军
互联网巨头科技公司
腾讯科技 互联网女皇
卓越科技互联网 招聘
新华互联网科技校企合作
科技互联网的估值
链环科技传统企业怎么转型互联网
互联网科技和法律行业
南京一网一红互联网科技有限公司
互联网科技企业文化