文章

15

粉丝

142

获赞

25

访问

12.5k

头像
01序列 题解:
P1001 计算机考研机试入门题
发布于2023年5月2日 14:03
阅读数 1.3k

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(){
    // 遍历 0 ~ 63 这 64 个整数
    for(int i=0;i<=63;i++){
        // 对于每个整数 i ,遍历其二进制表示中的 6 位(因为 2^6=64)
        for(int j=5; j>=0; j--){
            // 取出整数 i 的第 j 位二进制数值(从高位到低位)
            int bit = (i >> j) & 1;
            // 输出该二进制数值
            cout << bit;
        }
        cout << endl; // 换行,使输出更美观
    }
    return 0;
}

这段代码的功能是输出0到63这64个整数的二进制表示。具体来说,首先通过外层循环遍历每一个需要转换的整数 i,然后通过内层循环遍历该整数的二进制表示的每一位(共6位),并使用移位运算符和与运算符(&)取出该位二进制数值,最后将所有二进制数值拼接起来输出即可。

需要注意的是,这里将内层循环从0到5的顺序反过来,是因为我们想要的输出顺序是从高位到低位,而二进制是从低位到高位的,因此需要从高位开始循环。

 

登录查看完整内容


登录后发布评论

1 条评论
快乐小土狗
2024年2月10日 11:46

yes

赞(0)