十进制转二进制方法整理

#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;
}
posted @   糖豆爸爸  阅读(240)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2019-07-13 mount.cifs Windows共享目录权限755问题
2018-07-13 挑战扫雷世界纪录
2018-07-13 centos java tomcat 中文乱码解决办法
2017-07-13 杀掉TOMCAT并重启的脚本
2016-07-13 读取EXCEL的办法
2016-07-13 考勤打卡设计方案
2015-07-13 融云的技术资料
Live2D
点击右上角即可分享
微信分享提示