面试热题——进制转换(n进制转换成2进制)
2017-05-25 21:00
218 查看
#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; #include<string> #include <vector> #include<algorithm> //将n进制转换为2进制 void Test() { //输入的数值是n进制的 int n = 0; cin>>n; //输入的数值是多少 string num; cin>>num; int i = num.size()-1;//获取到数值的最后一位 int index = 0;//记录0-x次方 int sum = 0;//最终转换的十进制数 double newN = n;//pow的第一个参数必须要是double类型 while (i >= 0) { if (num[i] >= 'A' && num[i] <= 'Z') { int newnum = num[i] - 'A' + 10; sum += newnum * pow(newN,index); } else { sum += (num[i]-'0') * pow(newN,index); } ++index; --i; } //查看十进制的值 cout<<"sum = "<<sum<<endl; //将10进制转换为2进制 vector<int> v; while (sum > 0) { v.push_back(sum % 2); sum /= 2; } reverse(v.begin(),v.end());//此时v容器里存的就是数值的2进制 } int main() { Test(); system("pause"); return 0; }
相关文章推荐
- (记数-进制转换-java)用-2为基做进制转换
- 面试的时候要求写个程序:任意进制数(2-16之间的进制)转换
- 题目1080:进制转换(任意进制直接转换方法)
- (记数-进制转换-java)用fibonacci数列为基做进制转换
- 面试热题——任意进制(32进制及以下)之间的转换
- 转帖:c#任意进制转换(2-36进制之间的转换)
- NOJ 1012 进制转换(十进制转换成任意进制)
- 单向链栈实现进制转换(十进制转换成N进制数【正数】)
- Divein_day03_进制转换 十进制到其他进制的转换
- NOJ 1012 进制转换(十进制转换成随意进制)
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
- PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
- 面试:字符串: 字符串转换为10进制数
- 数组和字符串(分数统计_stat,单词的长度,乘积的末3位,计算器,旋转_rotate,进制转换1_base1,进制转换2_base2,手机键盘)
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)
- 利用栈实现进制转换1,常用进制转换成十进制
- sql 进制转换,支持93内的进制相互转换
- 关于进制转换的一些函数(可以任意进制转换为任意进制)
- javascript 进制转换(2进制、8进制、10进制、16进制之间的转换)