C³ÌÐò£ºÈ·¶¨Ò»¸öÕûÊýµÄ¼ÆËã»úÄÚ²¿±íʾÖÐÓм¸¸ö"1"
/*
×¢Òâ²»¶ÏÓÒÒÆÅжÏ×îµÍλÊÇ1ÓжàÉÙ¸öµÄËã·¨ÊÇ´íÎóµÄ£¬
ÒòΪ¸ù¾ÝGNU C/C++µÄʵÏÖÀ´¿´£¬¸ºÊýÊÇ´ø·ûºÅÌî³ä½øÐÐÓÒÒÆµÄ£¬ËùÒÔÈç¹ûÊǸºÊý£¬¸ÃËã·¨»áËÀÑ»·¡£
±äͨ°ì·¨£ºJava¿ÉÒÔÓÃ>>>Âß¼ÓÒÒÆÎ»²Ù×÷·û£¬C/C++¿ÉÒÔÇ¿ÖÆ×ª»»³ÉÎÞ·ûºÅÕûÊýÔÙ´¦Àí
ÏÂÃæµÄ³ÌÐòÊÇÕý½â¡£ÆäÖÐnum &= (num - 1) »áÏû³ýnumµÄ×îСλÖõÄ"1"
*/
#include <stdio.h>
int numOnesInBinary(int num)
{
int numOnes = 0;
while (num != 0) {
num &= (num - 1);
numOnes++;
}
return numOnes;
}
int main()
{
printf("%d", numOnesInBinary(-1));
return 0;
}
Ïà¹ØÎĵµ£º
1£© -/+£º Õâ¸ö³Æ×öscope, Èç¹ûÔÚº¯ÊýÇ°ÃæÊÇ- £¬ÄÇôÀí½âΪһ°ãµÄº¯Êý£»Èç¹ûÊÇ+£¬ ¿ÉÒÔÀí½âΪc++ÖеÄstaticº¯Êý
2£© º¯ÊýµÄ²ÎÊýÉùÃ÷£º
Èç¹ûûÓвÎÊýµÄ»°£¬ÔÚº¯ÊýÃûºóÃæ£¬¿ÉÒÔʲô¶¼²»Ð´£»
Èç¹ûÖ»ÓÐÒ»¸ö²ÎÊý£¬ÔÚ : ºóÃæÉùÃ÷²ÎÊýµÄÀàÐͺÍÃû³Æ£»
Èç¹ûÓжà¸ö²ÎÊýµÄ»°£¬Ã¿¸ö²ÎÊýÇ°Ãæ¶¼ÒªÓÐÒ»¸ö : £¬ È»ºó½Ó×ÅÊDzÎÊýÀàÐͺͲΠ......
ÊÔÌâ5£º±àдһ¸öº¯Êý£¬×÷ÓÃÊǰÑÒ»¸öchar×é³ÉµÄ×Ö·û´®Ñ»·ÓÒÒÆn¸ö¡£±ÈÈçÔÀ´ÊÇ“abcdefghi”Èç¹ûn=2£¬ÒÆÎ»ºóÓ¦¸ÃÊÇ“hiabcdefgh”
¡¡¡¡º¯ÊýÍ·ÊÇÕâÑùµÄ£º
//pStrÊÇÖ¸ÏòÒÔ'\0'½áβµÄ×Ö·û´®µÄÖ¸Õë
//stepsÊÇÒªÇóÒÆ¶¯µÄn
void LoopMove ( char * pStr, int steps )
{
¡¡//ÇëÌî³ä...
}
¡¡¡¡½ ......
ÌâÍâÆª£ºµ¥Ôª²âÊÔÄÑÓÚ³¤ÆÚ¼á³ÖµÄÔÒòÓë½â¾ö̽ÌÖ
ÉÏһƪ¡¶µ¥Ôª²âÊÔÐ§Òæ¡·£¬ÓÐÍøÓÑÆÀÂÛ˵£º“µ¥Ôª²âÊԵĺô¦»ù±¾ÈËÈËÖªµÀ£¬¾ÍÊÇÄѼá³Ö£¡”¡£ÕâÒ»ÆÀÂÛÑÏÖØÌáÐÑÁËÎÒ£¬²»´í£¬“ÄѼá³Ö”Ò²ÊÇÒ»¸öÆÕ±éÏÖ×´¡£Èç¹û²»Äܼá³Ö£¬ÄÇÒ»Çж¼Êǰ״Òò´Ë£¬ÕâÀï²åÈëÒ»¸öÌâÍâÆª£¬Ì½ÌÖµ¥Ôª²âÊÔÄÑÓÚ³¤Æ ......
externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©.
Ëü¸æËß±àÒëÆ÷£¬ÆäÉùÃ÷µÄº¯ÊýºÍ±äÁ¿¿ÉÒÔÔÚ±¾Ä£¿é»òÆäËüÄ£¿éÖÐʹÓá£
1¡£¶ÔÓÚextern±äÁ¿À´Ëµ£¬½ö½öÊÇÒ»¸ö±äÁ¿µÄÉùÃ÷£¬Æä²¢²»ÊÇÔÚ¶¨Òå·ÖÅäÄÚ´æ¿Õ¼ä¡£Èç¹û¸Ã±äÁ¿¶¨Òå¶à´Î£¬»áÓÐÁ¬½Ó´íÎó
2¡£Í¨³££¬ÔÚÄ£¿éµÄÍ·ÎļþÖжԱ¾Ä£¿éÌṩ¸øÆäËüÄ£¿éÒýÓõĺ¯ÊýºÍ ......
µÚ¶þÕ Õ÷·þ¿É²âÐÔÄÑÌâ
2.1 ¿É²âÐÔÎÊÌâÏê½â£¨1£©
µ¥Ôª²âÊÔÐ§ÒæÌØ±ð¸ß£¬·½·¨Ò²ºÜ¼òµ¥£¬µ«È´³¢ÊÔµÄÆóÒµºÜ¶à£¬³É¹¦ÊµÊ©µÄÆóÒµºÜÉÙ£¬ÎªÊ²Ã´ÄØ£¿Ö÷ÒªÔÒò¾ÍÊÇÄÑÓÚÍ»ÆÆ¿É²âÐÔÎÊÌâ¡£“¿É²â”Õâ¸ö´Ê£¬Òâ˼ÒѾºÜÃ÷°×ÁË£¬Èç¹û²»“¿É²â”µÄ»°£¬ÄǾÍÊDz»Äܲ⣬û·¨²â£¬¾ÍÊÇ× ......