# define BV_UNIT unsigned char
#endif
-#define BV_SIZE(I) ((((I) % CHAR_BIT) != 0) + ((I) / CHAR_BIT))
-
#define BITS(T) (CHAR_BIT * sizeof(T))
+#define BV_SIZE(I) (((((I) % BITS(BV_UNIT)) != 0) + ((I) / BITS(BV_UNIT))) * sizeof(BV_UNIT))
+
/* 0 <= I < CHAR_BIT * sizeof(T) */
#define BV_MASK_LOWER(T, I) (~((~((T) 0)) << (I)))
/* 0 < I <= CHAR_BIT * sizeof(T) */