這個階段的我好像很喜歡把玩code。拿到Code會想它是否能夠工作。先使用,再Trace,然后總結(jié)歸納。這些都是從Points C中摘錄的。不知道文章該該怎么分類。所以暫且歸為翻譯這一欄目。
現(xiàn)在看來還是覺得這些簡短的Code很經(jīng)典。
*********************************************方法一**********************************************************
/**//*
** This function returns the number of 1-bits that appeared in
** the argument value.
*/
int
count_one_bits( unsigned value )
...{
int ones;
/**//*
** While the value still has some 1-bits in it ...
*/
for( ones = 0; value != 0; value = value >> 1 )
/**//*
** If the low-order bit is a 1, count it.
*/
if( value % 2 != 0 )
ones = ones + 1;
return ones;
}
******************************************方法二*******************************************
/**//*
** This function returns the number of 1-bits that appeared in
** the argument value.
*/
int
count_one_bits( unsigned value )
...{
int ones;
/**//*
** While the value still has some 1-bits in it ...
*/
for( ones = 0; value != 0; value >>= 1 )
/**//*
** If the low-order bit is a 1, count it.
*/
if( ( value & 1 ) != 0 )
ones += 1;
return ones;
}
現(xiàn)在看來還是覺得這些簡短的Code很經(jīng)典。
*********************************************方法一**********************************************************
/**//*
** This function returns the number of 1-bits that appeared in
** the argument value.
*/
int
count_one_bits( unsigned value )
...{
int ones;
/**//*
** While the value still has some 1-bits in it ...
*/
for( ones = 0; value != 0; value = value >> 1 )
/**//*
** If the low-order bit is a 1, count it.
*/
if( value % 2 != 0 )
ones = ones + 1;
return ones;
}
******************************************方法二*******************************************
/**//*
** This function returns the number of 1-bits that appeared in
** the argument value.
*/
int
count_one_bits( unsigned value )
...{
int ones;
/**//*
** While the value still has some 1-bits in it ...
*/
for( ones = 0; value != 0; value >>= 1 )
/**//*
** If the low-order bit is a 1, count it.
*/
if( ( value & 1 ) != 0 )
ones += 1;
return ones;
}

