
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