改进版进制转换
来源:互联网 发布:app软件编程 编辑:程序博客网 时间:2024/05/22 08:14
#include<iostream>using namespace std;#define OK 1#define ERROR -1#define OVERFLOW -2typedef int Status;typedef struct SNode{ int data; struct SNode *next;}SNode,*LinkStack;Status InitStack(LinkStack &S){ S = NULL; return OK;}Status Push(LinkStack &S,int m){ SNode *p=new SNode; if(!p) return OVERFLOW; p->data=m; p->next=S; S=p; return OK;}Status Pop(LinkStack &S,int &m){ SNode *p; if(!S) return ERROR; m=S->data; p=S; S=S->next; delete p; return OK;}bool StackEmpty(LinkStack &S){ if(!S) return true; return false;}void conversion(int num){//此函数可以任意转换成16进制,8进制,2进制 LinkStack S; int num_fir,num_sec; InitStack(S); cout<<"输入你想要转换的进制数:"<<endl; cin>>num_fir; if(num_fir!=16){ while(num){ Push(S,num%num_fir); num/=num_fir; } cout<<"该数字转换成"<<num_fir<<"进制后为"<<endl; while(!StackEmpty(S)){ Pop(S,num_sec); cout<<num_sec; } } else{ while(num){ Push(S,num%num_fir); num/=num_fir; } cout<<"该数字转换成16进制后为"<<endl; while(!StackEmpty(S)){ Pop(S,num_sec); if(num_sec>9) printf("%c",num_sec+55); cout<<num_sec; } } cout<<endl;}int main(){ int n; while(true){ cout<<"请输入你所要转换的十进制数字:"<<endl; cout<<"如果你想要退出,请输入-1:"<<endl; cin>>n; if(n==-1) break; conversion(n); }}
0 0
- 改进版进制转换
- 摄氏温度和华氏温度转换改进
- 视频转换系统初步改进方案
- Java 8 类型转换及改进
- android 中List转换String,String转换List 改进版本
- 转换dvd 字幕缩小改进(thinkvd开发日志)
- 【小程序】数字转换RMB大写-------改进版
- MySQL逗号分割字段的行列转换测试改进
- DataSet与泛型集合间的互相转换改进
- 改进的有效边表算法,多边形的扫描转换
- 中文数字转换成阿拉伯数字-->完美改进版-->全面支持上亿等转换
- C语言将16进制的数转换为字符串的方法(改进)
- mui:使用js在移动端进行精准定位改进版,以及坐标转换
- 第二周上机任务1-1--编写递归函数将十进制数转换成二进制数输出(改进版)
- VB.NET 进制转换函数 (非原创,改进了传入0输出空置的情况)
- 24位真彩色图像转换为16位高彩色图像的实现方法及效果改进
- 改进sp_lock
- 改进eboot
- opengl(三)
- android:layout_gravity和android:gravity的区别
- @synthesize和@dynamic区别
- java基础--JDK 1.5 新特性
- 黑马程序员——String和StringBuffer
- 改进版进制转换
- Android多线程之handler
- lua学习笔记 1 android 调用Lua, Lua脚本中启动Intent
- lua学习笔记 2 android调用Lua。Lua脚本中实现添加Button,并为Button增加Listener
- 【转载】通俗的讲解下傅立叶分析和小波分析之间的关系?
- 欢迎使用CSDN-markdown编辑器
- 编程珠玑 第十三章 习题4 思考
- bootstrap
- [leetcode][tree] Binary Tree Right Side View