Long description

Back

The 9 lines of code for figure (a) are as follow

hash define BYTE underscore SIZE 8 forward slash asterisk A byte contains 8 bits

int bit underscore count open parenthesis int byte close parenthesis

open curly bracket

forward slash asterisk Count the bits in a byte dot asterisk forward slash

int i comma count equals to 0 semicolon

for open parenthesis i equals to 0 semicolon i less than BYTE underscore SIZE semicolon i plus plus close parenthesis forward slash asterisk loop over the bits in a byte asterisk forward slash

if open parenthesis open parenthesis byte extraction operator i close parenthesis ampersand 1 close parenthesis count plus plus semicolon forward slash asterisk if this bit is a 1 comma add to count asterisk

return open parenthesis count close parenthesis semicolon forward slash asterisk return sum asterisk forward slash

close curly bracket

The 3 lines of code for figure (b) are as follow

forward slash asterisk Macro to add up the bits in a byte and return the sum dot asterisk forward slash

hash define bit underscore count open parenthesis b close parenthesis open parenthesis open parenthesis b ampersand 1 close parenthesis plus open parenthesis open parenthesis b extraction operator 1 close parenthesis ampersand 1 close parenthesis plus open parenthesis open parenthesis b extraction operator 2 close parenthesis ampersand 1 close parenthesis plus open parenthesis open parenthesis b extraction operator 3 close parenthesis ampersand 1 close parenthesis plus backward slash

open parenthesis open parenthesis b extraction operator 4 close parenthesis ampersand 1 close parenthesis plus open parenthesis open parenthesis b extraction operator 5 close parenthesis ampersand 1 close parenthesis plus open parenthesis open parenthesis b extraction operator 6 close parenthesis ampersand 1 close parenthesis plus open parenthesis open parenthesis b extraction operator 7 close parenthesis ampersand 1 close parenthesis close parenthesis

The 3 lines of code for figure (c) are as follow

forward slash asterisk Macro to look up the bit count in a table dot asterisk forward slash

char bits open box bracket 256 close box bracket equals to open curly bracket 0 comma 1 comma 1 comma 2 comma 1 comma 2 comma 2 comma 3 comma 1 comma 2 comma 2 comma 3 comma 2 comma 3 comma 3 comma 4 comma 1 comma 2 comma 2 comma 3 comma 2 comma 3 comma 3 comma ellipsis close curly bracket semicolon

hash define bit underscore count open parenthesis b close parenthesis open parenthesis int close parenthesis bits open box bracket b close box bracket

Back