高精度的进制转换
来源:互联网 发布:网上贷款软件排行 编辑:程序博客网 时间:2024/06/15 07:48
1 #include <stdio.h> 2 #include <string.h> 3 4 char str[1000];//输入字符串 5 int start[1000],ans[1000],res[1000]; //被除数,商,余数 6 //res[]存的是余数,其最后结果的逆序为所求的结果 7 //转换前后的进制 8 const int oldBase = 10; 9 const int newBase = 2;10 11 void change()12 {13 //各个数位还原为数字形式14 int i,len = strlen(str);15 start[0] = len;16 for(i=1; i<= len; i++)17 {18 if(str[i-1] >= '0' && str[i-1] <= '9')19 {20 start[i] = str[i-1] - '0';21 }22 }23 }24 //start[0]存的是串的长度,其他元素为被除数的每一位25 void solve()26 {27 memset(res,0,sizeof(res));//余数初始化为空28 int y,i,j;29 //模n取余法,(总体规律是先余为低位,后余为高位)30 while(start[0] >= 1)31 {32 //只要被除数仍然大于等于1,那就继续“模2取余”33 y=0;34 i=1;35 ans[0]=start[0];36 //从第一位开始处理每一位(被除数=上一轮得到的余数*新的进制数+当前位的数)37 while(i <= start[0])38 {39 y = y * oldBase + start[i];40 ans[i++] = y/newBase;41 y %= newBase;42 }43 res[++res[0]] = y;//这一轮运算得到的余数44 i = 1;45 //找到下一轮商的起始处46 while((i<=ans[0]) && (ans[i]==0)) 47 i++;48 //清除这一轮使用的被除数49 memset(start,0,sizeof(start));50 //本轮得到的商变为下一轮的被除数51 for(j = i; j <= ans[0]; j++)52 start[++start[0]] = ans[j];53 memset(ans,0,sizeof(ans)); //清除这一轮的商,为下一轮运算做准备54 }55 }56 void output()57 {58 //从高位到低位逆序输出59 int i;60 for(i = res[0]; i >= 1; --i)61 {62 printf("%d",res[i]);63 }64 printf("\n");65 }66 67 int main()68 {69 scanf("%s",str);70 change();71 solve();72 output();73 return 0;74 }复制代码
0 0
- 高精度的进制转换
- 高精度的进制转换
- 高精度进制转换
- 高精度进制转换
- 【转】高精度的进制转换!!!!
- POJ1220(高精度进制转换)
- 高精度进制转换模板
- POJ 2635 高精度MOD 和 乱搞的进制转换
- 【模拟高精度+进制转换】数学序列
- poj1220 (高精度任意进制转换)
- poj1220(高精度模版,进制转换)
- poj 1131 进制转换 Java高精度
- 高精度运算--进制转换.POJ.1120
- noip1996 数制转换 -提高组 (高精度+进制转换)
- (高精度运算4.7.26)POJ 1220 NUMBER BASE CONVERSION(高精度数的任意进制的转换——方法:ba1----->10进制----->ba2)
- pku 1220--NUMBER BASE CONVERSION(高精度进制转换)
- java学习小记 输入输出 字符串 函数 高精度 进制转换
- POJ 1220 NUMBER BASE CONVERSION(高精度--进制转换)
- 数值的整数次幂
- struts2源码分析笔记
- GUI编程之Frame继承
- Leetcode: find all duplicate
- 如何安全退出多个Activity
- 高精度的进制转换
- 杭电2058 The sum problem
- hibernate原理分析笔记
- local static object demo
- AS3 模糊滤镜的使用
- OS开发入门教程(1)
- spring用注解实现注入的@resource,@autowired,@inject区别
- linux下xampp集成包安装配置方法
- 杭电2048 神、上帝以及老天爷