Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // data --- array of binary data (0s and non-0s)
- // Clamp non-zeros to 1
- for(int i = 0; i < data_length; ++i)
- {
- if(data[i])
- {
- data[i] = 1;
- }
- }
- // Map 8 elements of 'data' to 1 element of 'compressed'
- unsigned char compressed[data_length/8];
- for(int i = 0; i < data_length/8; ++i)
- {
- compressed[i] = 0x00 | data[i*8];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+1];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+2];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+3];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+4];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+5];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+6];
- compressed[i] = compressed[i]<<1;
- compressed[i] = compressed[i] | data[i*8+7];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement