int型の正の整数を求めてメモリの中で保存する時1の個数/華為の機械の試み(多種の方法C/C+)
1272 ワード
タイトルの説明
int型の正の整数を入力し、そのint型データがメモリに格納されたときの1の個数を算出します.
説明を入力:
整数を入力(intタイプ)
出力の説明:
この数を2進数に変換して1の個数を出力します
例1
入力
しゅつりょく
コード1:
コード2:
コード3:
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;
}