美文网首页
使用栈 进制之间转换

使用栈 进制之间转换

作者: 邓胖胖2号 | 来源:发表于2018-08-08 11:21 被阅读0次

#include#include#includeint top = -1;

void push(char *a,char element){

a[++top] = element;

}

void pop(char *a){

//空栈

if (top == -1)

{

return;

}

if (a[top]>=10)

{

printf("%c",a[top]+55);

}else{

printf("%d",a[top]);

}

top--;

}

//转十进制

int scaleFunction(char *data,int system){

int k = (int)strlen(data)-1;

int system_10_data = 0;

int i;

for (i = k;i >= 0;i--)

{

int temp;

if (data[i]>=48 && data[i]<=57)

{

temp = data[i] -48;

}else{

temp = data[i]-55;

}

system_10_data += temp * pow((double)system,k-i);

}

return system_10_data;

}

int main(){

char data[100];

printf("进制转换器,请输入原数据的进制类型(2-36)");

int system;

scanf("%d",&system);

getchar();

printf("请输入你要转换的数据:");

scanf("%s",data);

getchar();

int system_10_data = scaleFunction(data,system);

printf("请输入转换后的数据进制:");

int newSystem;

scanf("%d",&newSystem);

getchar();

while (system_10_data / newSystem)

{

push(data,system_10_data % newSystem);

system_10_data /= newSystem;

}

push(data,system_10_data % newSystem);

printf("转换后的结果为; \n");

while (top != -1)

{

pop(data);

}

return 0;

}

相关文章

  • 使用栈 进制之间转换

    #include#include#includeint top = -1; void push(char *a,c...

  • 栈--利用栈实现进制转换

    利用栈实现进制转换 一、二进制转十进制 利用栈的数据结构特点,将二进制转换为十进制数。 二进制数是计算机数据的存储...

  • 栈的应用(二进制问题)

    使用栈能解决的问题 将二进制数据转换成十进制数据 1. 将二进制转换成十进制 在计算机内部数据存储都是保存成二进制...

  • 二进制、八进制、十进制、十六进制之间转换

    (一)、进制之间的转换 八进制:0-7 十六进制:0-F 1、十进制 与 二进制之间的转换 (1)、十进制转换为二...

  • 从零学java笔录-第6篇 进制之间转换

    本讲主要内容: 1:进制理解 2:进制之间转换 3:负数的进制 正文 进制之间的转换: 二进制、八进制、十进制、十...

  • php-baseX

    PHP-BASEX 使用PHP实现进制之间转换,base2~base36

  • js的进制转换

    js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()...

  • python 进制转换

    如何表示二进制 任意进制之间的转换 任意进制转换成二进制--bin 任意进制转换成十进制--int 3.任意进制转...

  • iOS 二进制转换以及位运算

    进制之间的转换 十进制与二进制之间转换二进制转成十进制整数部分从个位开始,依次从2的0次方开始,让每位相加即可转换...

  • 常量与进制转换

    常量类型 进制转换 1、十进制与二进制之间的转换 2、八进制与十进制、二进制之间的转化 3、十六进制与十进制、二进...

网友评论

      本文标题:使用栈 进制之间转换

      本文链接:https://www.haomeiwen.com/subject/zsmtbftx.html