c语言十进制转换成二进制八进制十六进制,十进制数转换成二进制,八进制,十六进制(c语言)...
利用一个函数实现十进制数转换成二进制,八进制,十六进制。利用的是栈的后进先出的思想。算法简单。
#include
#include
#include
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OVERFLOW -2
#define OK 1
#define ERROR -1
typedef struct{
int *base;
int *top;
int stacksize;
} SqStack;
int InitStack(SqStack &S);
int GetTop(SqStack S,int &e);
int Push(SqStack &S,int e);
int Pop(SqStack &S,int &e);
int InitStack(SqStack &S);
int StackEmpty(SqStack S);
void JinZhi(SqStack &S,int e,int cj);
int main()
{
int N,Cho;
int cj;
SqStack S;
InitStack(S);
printf("请选择转换类型:1:十进制->二进制 2:十进制->八进制 3:十进制->十六进制 \n");
printf("请输入你的选择:");
scanf("%d",&Cho);
switch(Cho)
{
case 1:cj=2;printf("你选择的是十进制转换成二进制\n\n");printf("请输入要转换的十进制数:");scanf("%d",&N);break;
case 2:cj=8;printf("你选择的是十进制转换成八进制\n\n");printf("请输入要转换的十进制数:");scanf("%d",&N);break;
case 3:cj=16;printf("你选择的是十进制转换成十六进制\n\n");printf("请输入要转换的十进制数:");scanf("%d",&N);break;
default:printf("请从1-3中选择!");
}
JinZhi(S,N,cj);
return OK;
}
void JinZhi(SqStack &S,int N,int cj)
{
int e;
char jz;
while(N)
{
Push(S,N%cj);
N=N/cj;
}
printf("转换后的值: ");
while(!StackEmpty(S))
{
Pop(S,e);
if(e>=10)
{
switch(e)
{
case 10:jz='a';break;
case 11:jz='b';break;
case 12:jz='c';break;
case 13:jz='d';break;
case 14:jz='e';break;
case 15:jz='f';break;
}
printf("%c",jz);
}
else
printf("%d",e);
}
printf("\n");
}
int InitStack(SqStack &S)
{
S.base=(int *)malloc(STACK_INIT_SIZE*sizeof(int));
if(!S.base) exit(OVERFLOW);
S.top=S.base;
S.stacksize=STACK_INIT_SIZE;
return OK;
}
int GetTop(SqStack S,int &e)
{
if(S.top==S.base) return ERROR;
e=*(S.top-1);
return OK;
}
int Push(SqStack &S,int e)
{
if((S.top-S.base)>=S.stacksize)
{
S.base=(int *)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));
if(!S.base) exit(OVERFLOW);
S.top=S.base+S.stacksize;
S.stacksize+=STACKINCREMENT;
}
*S.top++=e;
return OK;
}
int Pop(SqStack &am
p;S,int &e)
{
if(S.top==S.base) return ERROR;
e=*--S.top;
return OK;
}
int StackEmpty(SqStack S)
{
if(S.top!=S.base) return 0;
}
c语言十进制转换成二进制八进制十六进制,十进制数转换成二进制,八进制,十六进制(c语言)...相关推荐
- TP5-金钱转换,将小写的金钱数转换成大写格式
function convertMoney($num) {$c1 = "零壹贰叁肆伍陆柒捌玖";$c2 = "分角元拾佰仟万拾佰仟亿";$num = round ...
- c语言字符串转成二进制,C语言中字符串如何转换为二进制、八进制、十进制、十六进制...
在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, st ...
- c语言中十进制转化二进制八进制十六进制,进制转换:二进制、八进制、十六进制、十进制之间的转换...
对于基础薄弱的读者,本节的内容可能略显晦涩和枯燥,如果觉得吃力,可以暂时跳过,用到的时候再来阅读.但是本节所讲的内容是学习编程的基础,是程序员的基本功,即使现在不学,迟早也要回来学. 上节我们对二进制 ...
- python--预测未来子女的身高、计算能量的消耗、为自己的手机充值、将指定的十进制数转换成二进制、八进制、十六进制
将指定的十进制数转换成二进制.八进制.十六进制 def fun():num=int(input('请输入一个十进制的整数:'))print(num,'的二进制数为:',bin(num)) #内置函数- ...
- python十六进制转换成八进制_Python 进制转换 二进制 八进制 十进制 十六进制
全局定义一定不要丢了 全局定义 base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)] 二进制 ...
- c++二进制转十进制_进制转换:二进制、八进制、十进制、十六进制相互转换
将二进制.八进制.十六进制转换为十进制 二进制.八进制和十六进制向十进制转换都非常容易,就是"按权相加".所谓"权",也即"位权". 假设当 ...
- C语言二进制、八进制、十进制、十六进制深入探究
首先来一篇好文:C语言中的二进制数.八进制数和十六进制数 C语言中的整数除了可以使用十进制,还可以使用二进制.八进制和十六进制. 二进制数.八进制数和十六进制数的表示 一个数字默认就是十进制的,表示一 ...
- C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换
目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...
- 二进制、八进制、十进制、十六进制的转换
为什么需要八进制和十六进制? 编程中,我们常用的还是10进制--必竟C/C++是高级语言. 比如: int a = 100,b = 99; 不过,由于数据在计算机中的表示,最终以二进制的形式存在,所以 ...
最新文章
- 指针空间的申请与释放
- mysql 批处理文件传参_如何实现批处理文件传参数给SQLPLUS
- rsync远程同步的基本配置与使用
- GDB 内写脚本调试程序
- [流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[4]
- 第十二届蓝桥杯省赛JavaC组【第二场】真题——详细答案对照(完整版)
- POJ 3617 Best Cow Line(最佳奶牛队伍)
- 使用 typescript ,提升 vue 项目的开发体验(1)
- python内置的数据结构_Python内置数据结构
- FPGA实现按键消抖及短时间按键和长时间按键不同动作
- DedeAMPZ多站点配置+支持.htaccess伪静态
- oracle执行大sql,mybatis连接oracle执行sql语句出现ORA
- volatile分析
- jdbc 事务没有回滚_《Spring Cloud Alibaba》微服务搭建之Seata分布式事务quot;发现问题quot;(十四)...
- 设计不难学,这10款软件总有一款适合你
- 编程c 语言怎么表示倍数,C语言里怎么表示是3的倍数
- 赛元SC92F7250单片机开发
- Linux系统1.md
- python求素数对(质数对)个数
- JS 中 0/1 与 true/false 是否相等
热门文章
- ICRA2020重磅来袭——SLAM文章汇总
- 关于磁盘分区管理工具
- Gunicorn 配置
- 中计播客 | 360回归A股首日跌停 “大安全”能否撑起4000亿市值?
- java 并发map_专用于高并发的map类-----Map的并发处理(ConcurrentHashMap)
- 软件测试-等价类作业
- textfield java_Java中怎么把运行结果显示到textfield中
- Flutter TextField 垂直居中
- 啊啊啊啊啊,终于解决电脑hardlock.sys蓝屏问题啦,顺利下载modelsim软件
- [ROS] 什么是ROS、ROS的优缺点