开发者社区> 问答> 正文

C语言中如何最节省地保存0,1的一个长队列?

现在暂时我用unsigned char类型来替代bool,因为C语言没有bool嘛。
如果只是保存的话可以每八位变成一个char去储存,但问题是我需要快速访问那些位是0还是1

展开
收起
a123456678 2016-06-07 20:05:10 2655 0
5 条回答
写回答
取消 提交回答
  • unsigned char类型类型数组吧,数组每个元素保存8个0或1

    2020-03-19 10:52:21
    赞同 展开评论 打赏
  • 专注物联网

    unsigned char类型类型数组吧,数组每个元素保存8个0或1

    2019-07-17 19:30:56
    赞同 展开评论 打赏
  • 软件开发,安全加密

    unsigned char类型类型数组吧,数组每个元素保存8个0或1

    2019-07-17 19:30:56
    赞同 展开评论 打赏
  • 乐于学习与分析

    unsigned char类型类型数组吧,数组每个元素保存8个0或1

    2019-07-17 19:30:56
    赞同 展开评论 打赏
  • 用与&预算检测.

    #include <stdio.h>
    
    // 检测定义成一个宏
    #define IS_SET(ch, idx) ((ch) & (0x01<<(idx)))
    
    int main()
    {
        unsigned char ch = 0x14; // 二进制 0001 0100;
        // 从右往左, 第三位(下标从0开始, 所以程序里是2)是1吗?
        if (IS_SET(ch, 2)) {
            printf("YES\n");
        } else {
            printf("NO\n");
        }
    
        return 0;
    }
    2019-07-17 19:30:56
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载