zoukankan      html  css  js  c++  java
  • 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;
    }
    

      

  • 相关阅读:
    [Kafka]
    [Kafka]
    [数据挖掘]
    接口部署说明
    报表部署安装说明
    kafka单机安装测试-原创-本机测试过
    centos安装nginx 带upstream
    spring boot jpa mysql porm文件备份 可以运行的
    Spring boot jpa mysql 连接数据库SSL错误
    mysql 学习笔记
  • 原文地址:https://www.cnblogs.com/E-Dreamer-Blogs/p/12184698.html
Copyright © 2011-2022 走看看