| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1074 人关注过本帖
标题:c和指针 第六章第5题 位数组输出质数 看不懂代码
只看楼主 加入收藏
Feiyiyi1
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-10-22
结帖率:62.5%
收藏
已结贴  问题点数:20 回复次数:4 
c和指针 第六章第5题 位数组输出质数 看不懂代码
帮忙解读一下这个代码的意思:
这是源代码网址:
http://
程序代码:
#include <stdio.h>
#include <string.h>

#define MAX 10000

int main()
{
    char bitarray[BITNSLOTS(MAX)];
    int i, j;

    memset(bitarray, 0, BITNSLOTS(MAX));

    for(i = 2; i < MAX; i++) {
        if(!BITTEST(bitarray, i)) {
            printf("%d\n", i);
            for(j = i + i; j < MAX; j += i)
                BITSET(bitarray, j);
        }
    }
    return 0;
}

搜索更多相关主题的帖子: 指针 位数 输出 代码 MAX 
2017-11-07 16:46
Feiyiyi1
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-10-22
收藏
得分:0 
程序代码:
这是头问文件  和  宏


#include <limits.h>        /* for CHAR_BIT */

#define BITMASK(b) (1 << ((b) % CHAR_BIT))
#define BITSLOT(b) ((b) / CHAR_BIT)
#define BITSET(a, b) ((a)[BITSLOT(b)] |= BITMASK(b))
#define BITCLEAR(a, b) ((a)[BITSLOT(b)] &= ~BITMASK(b))
#define BITTEST(a, b) ((a)[BITSLOT(b)] & BITMASK(b))
#define BITNSLOTS(nb) ((nb + CHAR_BIT - 1) / CHAR_BIT)
2017-11-07 16:47
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:10 
你到底是不会“筛选法求素数”,还是不会“位操作”?
都是简单到一目了然的东西,故而无从解释,你还是明确地说出你哪里不懂吧

2017-11-08 08:29
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10570
专家分:43038
注 册:2014-5-20
收藏
得分:10 
具体用来做什么用的?
好象是用数组来模拟位运算操作
2017-11-08 11:13
Feiyiyi1
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2017-10-22
收藏
得分:0 
回复 3楼 rjsp
筛选法我懂,一般的c语言筛选的能理解
就是不懂这个位数组怎么实现它的筛选的  
2017-11-11 20:25
快速回复:c和指针 第六章第5题 位数组输出质数 看不懂代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016029 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved