c++实现的任意进制数转十进制数算法
来源:互联网 发布:网站连接数据库的函数 编辑:程序博客网 时间:2024/06/06 01:13
#include <iostream>#include <cctype>using namespace std;int pow(int a,int b){ int ans=1; while(b--) ans*=a; return ans;}int radix1(string &a,int n){ int ans=0; for(int i=0;a[i];i++) { if(isdigit(a[i])) ans=ans*n+a[i]-'0'; else if(isupper(a[i])) ans=ans*n+a[i]-'A'+10+1; else if(islower(a[i])) ans=ans*n+a[i]-'a'+10+26+1; } return ans;}int radix2(string &a,int n){ int ans=0,ans0,len=a.size(); for(int i=len-1;i>=0;i--) { if(isdigit(a[i])) ans0=a[i]-'0'; else if(isupper(a[i])) ans0=a[i]-'A'+10+1; else if(islower(a[i])) ans0=a[i]-'a'+10+26+1; ans+=ans0*pow(n,len-i-1); } return ans;}void welcome(){ cout<<"\t\t\t\t测试进制转换"<<endl; cout<<"\t\t\t\t\t\tBy:sdk2 QQ:469656392"<<endl<<endl<<endl;}int main(){ welcome(); while(1) { int n; cout<<"输入进制(n≤62) "; cin>>n; cout<<"\t"<<"输入一个"<<n<<"进制的数 "; string a; cin>>a; cout<<"\t"<<"该数等于十进制的 "<<endl;; cout<<"\t"<<radix1(a,n)<<" (算法1)"<<endl; cout<<"\t"<<radix2(a,n)<<" (算法2)"<<endl<<endl<<endl; } return 0;}
0 0
- c++实现的任意进制数转十进制数算法
- Java实现十进制数转化为二进制数的算法
- 十进制数转二进制数的C实现代码
- 面试题:编写一个将十进制数转换为任意进制的算法或函数
- 任意长度的十进制数转为二进制、十六进制,和大数除法算法(只有小半份)
- 如何用c语言寻找十进制数二进制的奇数位.偶数位.任意位
- C++实现将十进制数转换为小于等于九的任意进制
- 实验C—5 任意十进制数转化为二进制
- 16进制数转十进制数—实现C语言
- 常用算法(C#): 二进制,八进制,十六进制数转换为十进制数的算法
- 十进制转化为任意进制的数
- ACM-任意的十进制数转成R进制
- 任意255以内的十进制数转化为16进制数
- 将十进制转换为任意进制的数
- 实现任意数的阶乘
- 用栈实现十进制到任意进制的转换
- 十进制数转换为任意进制数
- 十进制数转换成任意进制数
- BestCoder Round #65 C. ZYB's Premutation(线段树求第k大)
- xutils 关于下载文件。
- BestCoder Round #65 D. ZYB's Tree(树形dp)
- 购物车页面去掉ecshop国家省市区客户手动填写收货地址的方法
- 搜狗2016 C++笔试题
- c++实现的任意进制数转十进制数算法
- 【转】unity跨平台文件操作详解
- thinkphp3.2 跨控制器调用
- AWS 假设 VPN (PPTP & L2TP) 整理
- 保研经历的一个小记录
- 基于主元素思想的Householder正交法解(矛盾)方程组
- 真机测试有帮助
- Centos 7.0 安装nginx
- TextWatcher的使用