首页 > 其他 > 详细

十进制转二进制方法整理

时间:2021-07-13 12:07:49      阅读:23      评论:0      收藏:0      [点我收藏+]
#include <bits/stdc++.h>

using namespace std;

//输出数字n的二进制
int main() {
    int n;
    n = 28;
    //方法1:固定1,右移n大法
    //优点:思路清晰,模板利用扩展
    //缺点:代码有点长
    for (int i = 7; i >= 0; i--)//这里写7~0是为了少一些前导0,看着方便,注意从大到小,才能正确显示
        cout << ((n >> i) & 1); //思路:右移i位,再&1,就知道这个位置是0还是1,输出即可
    cout << endl;

    //方法2:固定n,左移1大法
    //优点:思路清晰,模板利用扩展
    //缺点:代码有点长
    for (int i = 7; i >= 0; i--)//这里写7~0是为了少一些前导0,看着方便,注意从大到小,才能正确显示
        if (n & (1 << i)) cout << 1; else cout << 0;
    cout << endl;

    //方法3:内置函数bitset大法
    //优点:代码极短
    //缺点:没法扩展
    cout << bitset<8>(n) << endl;

    return 0;
}

十进制转二进制方法整理

原文:https://www.cnblogs.com/littlehb/p/15005256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!