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

数制转换


#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; }


相关文章:
数制的概念及转换
数制的概念及转换 数制的概念及转换 一、进位计数制 以十进制为例: [例 1] 8756.74=8×1000+7×100+5×10+6×1+7×0.1+4×0.01 =8×103+7×102+...
各种进制转换方法
二、十进制转二进制进制转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整 数部分和小数部分分别转换后,再加以合并。 1. 十进制整数...
进制转换练习题及答案
进制转换练习题及答案_财会/金融考试_资格考试/认证_教育专区。进制转换练习题 1、 十进制算术表达式: 3*512+7*64+4*8+5 的运算结果, 用二进制表示为 )(....
各进制转换方法
进制转换方法_工学_高等教育_教育专区。进制转换进制转换方法(转载) 一、计算机中数的表示:首先,要搞清楚下面 3 个概念 数码 :表示数的符号 基权 :数码...
进制转换练习题
进制转换练习题 1.十进制数 1000 对应二进制数为___,对应十六进制数为___。 供选择的答案 A:① 1111101010 ② 1111101000 ③ 1111101100 ④ 1111101110 ...
进制转换方法
进制转换方法_计算机软件及应用_IT/计算机_专业资料。二进制、八进制、十六进制、十进制互转 十进制:D 二进制:B 八进制(0-7):O 十六进制(0-F):H①、十...
进制转换
一① 、 十整 进 制 与数 二 进 制部 之 间 的分 转 换 ( 1 ) 十进制转换为二进制,分为整数部分和小数部分 方法:除 2 取余法,即每次将整数部分...
进制转换对照
进制转换对照_计算机软件及应用_IT/计算机_专业资料。进制对照 二进制 O1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000 10001 ...
认识数制与进制转化
三、二进制特征: 二进制数读法: 二进制数写法: 四、二进制转换为十进制数例: (11010100)2 = 1× 2 +1× 2 +0× 2 +1× 2 +0× 2 +1× 2 +...
进制转换
进制转换_电脑基础知识_IT/计算机_专业资料。补充知识:计算机中信息的表示方法(数制与编码)前言:十进制规律:(1). 数码组成: 0 --- 9 (十个) (2). 记数...
更多相关标签:
进制转换 | 进制转换器 | 数制转换器 | 数值转换 | 数制转换c语言 | 数制 | 在线计算器 | 二进制 |