/** * bit-utils.c - A variety of utilities for working with bitwise values. */ // +---------+-------------------------------------------------------- // | Headers | // +---------+ #include "bit-utils.h" // +--------------------+--------------------------------------------- // | Exported Functions | // +--------------------+ int f2i (float f) { return *((int *) &f); } // f2i float i2f (int i) { return *((float *) &i); } // i2f int ith_bit (int n, int i) { return (n >> i) & 1; } // ith_bit int zero_bit(n, i) { // Our mask has 1's everywhere besides at the 0 position. int mask = ~(1 << i); return n & mask; } // zero_bit