当前位置:首页 >> 其它课程 >>

数制转换


#include <iostream> usingnamespacestd; constintLength = 20; voidTran(inte) { switch(e) {

case10: cout<<'A';break; case11: cout<<'B';break; case12: cout<<'C';break; case13: cout<<'D';break; case14: cout<<'E';break; case15: cout<<'F';break; } } //栈 structSqStack { int*top; int*base; intstacksize; }; boolInitStack(SqStack &S) { S.base = (int*)newint[Length *sizeof(int)]; if(!S.base) returnfalse; S.top = S.base; S.stacksize = Length; returntrue; } boolDestroyStack(SqStack &S) { deleteS.base; returntrue; } boolPush(SqStack &S,inte) { *S.top++ = e; returntrue; } boolPop(SqStack &S,int&e) {

if(S.top == S.base) returnfalse; e = *--S.top; returntrue; } boolStackEmpty(SqStack &S) { if(S.base == S.top) returntrue; else returnfalse; } //队列 structSqQueue { int*base; intfront; intrear; }; boolInitQueue(SqQueue &Q) { Q.base = (int*)newint[Length *sizeof(int)]; if(!Q.base) returnfalse; Q.front = Q.rear = 0; returntrue; } boolEnQueue(SqQueue &Q,inte) { Q.base[Q.rear] = e; Q.rear++; returntrue; } boolDeQueue(SqQueue &Q,int&e) { if(Q.front == Q.rear) returnfalse; e = Q.base[Q.front]; Q.front++; returntrue;

} boolDestroyQueue(SqQueue &Q) { deleteQ.base; returntrue; } //转换数制 voidConversion(doubletest,intradix) { intInteger = test,e,i,d; doubleDecimal = test - Integer; SqStack IntegerStack; SqQueue DecimalQueue; InitStack(IntegerStack); while(Integer) { Push(IntegerStack,Integer%radix); Integer /= radix; } while(!StackEmpty(IntegerStack)) { Pop(IntegerStack,e); if(radix <= 10) cout<<e; else Tran(e); } cout<<"."; InitQueue(DecimalQueue); i = 3; while(i) { EnQueue(DecimalQueue,int(Decimal*radix)); Decimal = (Decimal*radix -int(Decimal*radix)); i--; } i = 3; while(i) { DeQueue(DecimalQueue,d);

if(d <= 10) cout<<d; else Tran(d); i--; } DestroyStack(IntegerStack); DestroyQueue(DecimalQueue); } intmain() { inti,t,radix; doubletestData; //freopen("cin2.txt","r",stdin); cin>>t; for(i = 0;i < t;i++) { cin>>testData>>radix; Conversion(testData,radix); cout<<endl; } return0; }


相关文章:
数制转换问题
桂林理工大学信息学院 实验报告课程名:综合软件实习 学号:3110717332 实习日期:2013.6.21 实验题目:数制转换问题 班级:计本 11-3 班 姓名:莫尚校 实验序号:七 ...
计算机《数制与编码-进制转换》公开课教案
(三)数制转换 在计算机进行数据处理时首先把输入的十进制数转换成计算机 所能接受的二进制数;计算机运行结束后,再把二进制数转换成人们 所习惯的十进制数输出。 ...
数制及数制的转换教案
师:1、非十进制转换成十进制数,这里的“非十进制”指的是二进制、八进制与 十六进制的一种,采用的是按权展开求和的方法。 2 师:我们前面已经举过一个例子...
各进制转换方法
进制转换方法_工学_高等教育_教育专区。进制转换进制转换方法(转载) 一、计算机中数的表示:首先,要搞清楚下面 3 个概念 数码 :表示数的符号 基权 :数码...
认识数制与进制转化
亳州新能源学校 科目:计算机组公开课 认识数制与进制转化 教学设计 授课者:梁修权 班级:15 计算机 4 班 2015 年 10 月 16 日 亳州新能源学校 1 亳州新能源...
编程基础:数制转换
1.1 数制转换 由于计算机中的信息以二进制表示, 而人机交互时需要以十进制或其他形式表示, 在计 算机工作过程中不可避免地需要对不同数制的数值进行表示方式的...
计算机进制转换汇总
计算机进制转换汇总_IT认证_资格考试/认证_教育专区。计算机进制转换汇总 计算机进制转换汇总 计算机中常用的数的进制主要有:二进制、八进制、十六进 制,学习计算机要...
进制转换公式
进制转换公式_数学_自然科学_专业资料。所谓进制只是一个权重 在 A 进制下,数字实际值是各位数字的"权值*权重"的累加值 而"权重"为 A 的 n 次方,n 代表位数...
计算机二级中的进制转换
进制小数转化为二进制小数 方法:十进制小数转化为二进制小数是将十进制小数连续乘 2, 选取进位整数,直到满足精度要求为止,简称“乘 2 取整法” 。 {十进制...
进制转换练习题及答案
进制转换练习题及答案_财会/金融考试_资格考试/认证_教育专区。进制转换练习题 1、 十进制算术表达式: 3*512+7*64+4*8+5 的运算结果, 用二进制表示为 )(....
更多相关标签: