bitarray.c
来自「嵌入式基准程序集Mibench,如果需要全部测试软件,请从密西根大学网站上下载:」· C语言 代码 · 共 35 行
C
35 行
/* +++Date last modified: 05-Jul-1997 *//*** Functions to maintain an arbitrary length array of bits*/#include "bitops.h"char *alloc_bit_array(size_t bits){ char *set = calloc((bits + CHAR_BIT - 1) / CHAR_BIT, sizeof(char)); return set;}int getbit(char *set, int number){ set += number / CHAR_BIT; return (*set & (1 << (number % CHAR_BIT))) != 0; /* 0 or 1 */}void setbit(char *set, int number, int value){ set += number / CHAR_BIT; if (value) *set |= 1 << (number % CHAR_BIT); /* set bit */ else *set &= ~(1 << (number % CHAR_BIT)); /* clear bit*/}void flipbit(char *set, int number){ set += number / CHAR_BIT; *set ^= 1 << (number % CHAR_BIT); /* flip bit */}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?