Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int pack(int field, int index, int value);
- int unpack(int field, int index);
- int main(void) {
- int bit = 0;
- bit = pack(bit, 0, 1);
- bit = pack(bit, 1, 0);
- bit = pack(bit, 2, 1);
- printf("bit: %i, index 0: %i, index 1: %i, index 2: %i", bit, unpack(bit, 0), unpack(bit, 1), unpack(bit, 2));
- return 0;
- }
- int pack(int field, int index, int value) {
- return field|value<<index;
- }
- int unpack(int field, int index) {
- int mask = 1 << index;
- int value = field & mask;
- value = value >> index;
- return value;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement