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 + -
显示快捷键?