PS: 程序为cpp代码,最重要理解操作。
方法一: n进制方法,也可以解决转换为其他进制问题。
/*将整数转化为二进制的string 输出*/ string convert(int num) { string res = ""; if (num == 0) return "0"; int val = num; num = abs(num); while (num) { res.insert(0, to_string(num % 2)); num /= 2; } if (val < 0) res.insert(0, "-"); return res; }
方法二: 使用容器转换
/*使用vector进行存储*/ vector<int> convert(int n) { int temp; temp = n; vector<int> res; while (temp !=0) { res.push_back(temp % 2); temp = temp >> 1; } return res; }
方法三: 递归输出转换二进制
/*递归转换二进制*/ void convert(int n) { int a; a = n % 2; n = n >> 1; if (n == 0) return; else convert(n); cout << a; // 01逐个输出 }
方法四:位运算转换二进制
/*位运算转换二进制*/ void convert(int n) { for (int = 31; i >= 0; i--) { // 32位,逐步与1做与运算 cout << (n >> i) & 1; } }
方法五:使用bitset 转换二进制
void convert(int n) { cout << bitset<sizeof(int) * 8>(n) << endl; }
来源:https://www.cnblogs.com/E-Dreamer-Blogs/p/12184698.html