int型の正の整数を求めてメモリの中で保存する時1の個数/華為の機械の試み(多種の方法C/C+)


タイトルの説明
int型の正の整数を入力し、そのint型データがメモリに格納されたときの1の個数を算出します.
説明を入力:
整数を入力(intタイプ)
出力の説明:
この数を2進数に変換して1の個数を出力します
例1
入力
5

しゅつりょく
2

コード1:
//     int           1   
#include
#include
using namespace std;
int main()
{
	int iNum;
	cin >> iNum;
	char pNum[33]{ 0 };
	int iCount = 0;
	itoa(iNum, pNum, 2);
	for (int i = 0; pNum[i] != '\0'; i++)
	{
		if (pNum[i] == '1')
		{
			iCount += 1;
		}
	}
	
	cout << iCount << endl;
	system("pause");
	return 0;
}

 
コード2:
//     int           1   
#include
using namespace std;
int main()
{
	int iNum;
	cin >> iNum;
	int iCount = 0;
	while (iNum)
	{
		if (iNum & 1)
		{
			iCount += 1;
		}
		iNum = iNum >> 1;
	}
	cout << iCount << endl;
	return 0;
}

 
コード3:
//     int           1   
#include
using namespace std;
int main()
{
	int iNum;
	cin >> iNum;
	int iCount = 0;
	while (iNum)
	{
		iCount += iNum & 1 ? 1 : 0;
		iNum = iNum >> 1;
	}
	cout << iCount << endl;
	return 0;
}