私が持っている場合、それがバイナリint i = 15;
であることはわかっていますが0x00 00 00 0F
、バイナリに0000 0000 0000 0000 0000 0000 0000 1111
は4があり1
ます。
1
int 変数の合計をカウントしたい。
私はこれを書きます:
int count1(int i)
{
int j = 0,num = 0;
for(;j<32;j++)
if((i<<j )&0x80000000)
num++;
return num;
}
動作しますが、遅すぎると思います。つまり、何百万ものint
データがあるかもしれません。これを行うためのより効果的な方法を誰かが持っていますか?