c - 在内存阵列中挑选一对位 (0b11)
问题描述
我的嵌入式系统有 128KB 内存阵列结构用于特定用途
每个2bit代表4个状态(状态0,状态1,状态2,状态3)
我想计算内存数组中的总状态 3 (0b11)
例如 0xFF001234 = 1111 1111 0000 0000 0001 0010 0011 0100
它计数 5 (0b11)
我搜索了算法,但它只计算单个位 - https://www.geeksforgeeks.org/count-set-bits-in-an-integer/
我希望避免像每 2bit 比较 0b11 这样的贪心算法
有人有好主意吗?
ps:我使用的是LEON3 Sparc V8 32bit处理器,使用C语言
解决方案
推荐阅读
- flutter - 在颤动中停止在 DraggableScrollableSheet 中滚动
- amazon-web-services - 亚马逊sqs fifo队列中的飞行模式下如何有超过10条具有相同组ID的消息?
- amazon-s3 - Apache flink 以 S3 作为源,S3 作为接收器
- reactjs - 如何在不使用节点的情况下运行反应应用程序?
- eclipse - Eclipse Kotlin 插件未编译 Kotlin 类
- javascript - 如何使用 HTML 越过 Visual Studio Code 中的自动完成标记?
- c# - Windows 窗体应用程序随机数学游戏 c#
- reactjs - React Promise - 编码混乱
- r - 如何创建遵循特定模式的新列?
- javascript - 有没有办法访问阴影变量?