输入一个大数将其转化为二进制输出
来源:互联网 发布:淘宝上好看的卫衣店 编辑:程序博客网 时间:2024/06/05 14:34
将一个大数转化为2进制输出
#include <iostream>#include <cstring>#include <ctype.h>#include <vector>#include <sstream>using namespace std;vector<int> turn(string X){ int M=10,N=2; vector<int> vec; int data[1010]; //保存M进制下的各个位数 int output[1010]; //保存N进制下的各个位数 memset(output,0,sizeof(output)); for(int i=0;i<X.length();i++){ if(isalpha(X[i])) data[i] = X[i] - 'A' + 10; else data[i] = X[i] - '0'; } int sum = 1; int d = 0; int len = X.length(); int k = 0; while(sum){ sum = 0; for(int i=0;i<len;i++){ d = data[i] / N; sum += d; if(i == len-1){ output[k++] = data[i] % N; } else{ data[i+1] += (data[i] % N) * M; } data[i] = d; } } if(k == 0){ output[k] = 0; k--; } if(k == -1){ cout<<0<<endl; } else{ for(int i=0;i<k;i++){ if(output[k-i-1] > 9) //cout<<(char)(output[k-i-1]+ 'a' - 10); vec.push_back((char)(output[k-i-1]+ 'a' - 10)); else // cout<<output[k-i-1]; vec.push_back(output[k-i-1]); } } return vec;}int main(){string str;cin>>str; vector<int> vecs; vecs=turn(str); vector<int>::iterator iter; for(iter=vecs.begin();iter!=vecs.end();++iter) cout<<*iter; return 0;}
阅读全文
0 0
- 输入一个大数将其转化为二进制输出
- 输入一个8位二进制数,将其转化为十进制数输出
- 输入一个数,输出其二进制数列。
- 输入一个十进制数,转化为二进制
- 将一个数转化为二进制数
- 输入一个字符串并一其二进制形式输出
- 汇编---将输入的字符数字转化为二进制数据
- 将一个任意输入的10进制数转化为16进制形式输出
- 将一个任意输入的10进制数转化为16进制形式输出
- 利用函数将一个浮点型变量转化为二进制
- 第十三周 将一个数转化为二进制形式
- C++将一个数值转化为二进制字符串
- 将一个十进制数转化为二进制数
- 利用函数将一个浮点型变量转化为二进制
- 利用函数将一个浮点型变量转化为二进制
- java将一个数转化为二进制形式
- java--将一个十进制正数转化为二进制
- 将输入数据转化为人民币大写输出
- Spring Boot常见问题(二)Unable to start embedded container; nested exception is java.lang.NoSuchMethodErro
- linux进阶之旅(二)& LVS
- java---Thread(Account)
- UVA 10474 【排序与查找】
- Centos6.5安装epel
- 输入一个大数将其转化为二进制输出
- linux进阶之旅(三)& heartbeat实现高可用
- C 语言运算符优先级(记忆口诀)
- Servlet 服务器端编程
- super,this引用构造函数
- 9.26日常总结
- MySQL基本操作语法
- 欢迎使用CSDN-markdown编辑器
- 数据结构实验之栈与队列九:行编辑器