• cpp二进制与整数之间的转换的几种方式记录


    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;
    }
    

      

  • 相关阅读:
    java方法的重载
    java映射一对一关系
    java中必须知道的常用类
    使用eclipse开发java web网页——字符集问题
    使用eclipse开发java web网页
    Tomcat如何配置环境变量
    Java循环中删除list中元素方法的总结
    虚拟机概念(1)
    (24)像素重映射
    (23)霍夫圆
  • 原文地址:https://www.cnblogs.com/E-Dreamer-Blogs/p/12184698.html
Copyright © 2020-2023  润新知