Careercup - Microsoft面试题 - 24313662
2014-05-12 07:30
253 查看
2014-05-12 07:27
题目链接
原题:
题目:把二进制数转化成四进制数。
解法:四是二的倍数,所以两位变一位就可以了。
代码:
题目链接
原题:
Convert a base 2 number to a base 4 number
题目:把二进制数转化成四进制数。
解法:四是二的倍数,所以两位变一位就可以了。
代码:
// http://www.careercup.com/question?id=24313662 #include <iostream> #include <string> using namespace std; string baseConvert2To4(string num) { string res; int n = (int)num.size(); int i; res.resize((n + 1) >> 1); for (i = n - 2; i >= 0; i -= 2) { res[(i >> 1) + (n & 1)] = ((num[i] - '0') << 1) + (num[i + 1] - '0') + '0'; } if (n & 1) { res[0] = num[0]; } return res; } int main() { string num; while (cin >> num) { cout << baseConvert2To4(num) << endl; } return 0; }
相关文章推荐
- Careercup - Microsoft面试题 - 5718181884723200
- Careercup - Microsoft面试题 - 5917873302142976
- Careercup - Microsoft面试题 - 6751316000899072
- Careercup - Microsoft面试题 - 5752271719628800
- Careercup - Microsoft面试题 - 5799446021406720
- Careercup - Microsoft面试题 - 24308662
- Careercup - Microsoft面试题 - 5943729928011776
- Careercup - Microsoft面试题 - 23123665
- Careercup - Microsoft面试题 - 6366101810184192
- Careercup - Microsoft面试题 - 5120588943196160
- Careercup - Microsoft面试题 - 5673934611546112
- Careercup - Microsoft面试题 - 5684901156225024
- Careercup - Microsoft面试题 - 5204967652589568
- Careercup - Microsoft面试题 - 6337018766295040
- Careercup - Microsoft面试题 - 6543214668414976
- Careercup - Microsoft面试题 - 5700293077499904
- Careercup - Microsoft面试题 - 5680049562845184
- Careercup - Microsoft面试题 - 5428361417457664
- Careercup - Microsoft面试题 - 5188169901277184
- Careercup - Microsoft面试题 - 4840369632051200