Question: In the C programming language, there is no data type for booleans; instead, BOOL is usually a synonym for int. Show how you could

In the C programming language, there is no data type for booleans;

instead, BOOL is usually a synonym for int. Show how you could

In the C programming language, there is no data type for booleans; instead, BOOL is usually a synonym for int. Show how you could store an array of n booleans using an array of only [n/32] int variables (assuming integers are 4 bytes). For programming practice, try to define C macros (#defines) that would let you read and write the i-th bit in constant time (in the random access model, of course). If you want a hint / spoiler, I wrote my answer on the last page. Here are my macros for the question about boolean arrays. Note that I would use arrays of uint32_t, else having the high order bit set might make other bits "appear" to be -1 instead of normal 1: #define BIT(x,i) \ (x[i/32] & (1 < < (i & Oxif))) >>(i & Oxif) #define SET(x,i) \ x[1/32] (1 < < (i & Ox1f)) #define CLEAR(x,i) \ x[i/32] &= ((u_int32_t)-1) (1 < < (i & Ox1f))

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!