如果我想在C++中接受一个输入,但是整数很长(例如1000101010101001),我该怎么办? 我试过使用long long int,但是没有用。
int main()
{
long int number = 14072020;
binaryeven(number);
int num2;
/*cin>>num2;*/
binaryodd(number);
checkeven(14072020,1101011010111000110101001);
return 0;
}
如果需要从文本中读取某个值的二进制表示,只需使用std::bitset
。
std::bitset<32> x;
while(std::cin >> x) {
std::cout << x << " = " << x.to_ullong() << '\n';
}
https://godbolt.org/z/d3mgfk
您应该将std::string
中的值读取为“1101011010111000110101001”。
然后,检查最后一位数字。 对于二进制,“0”是偶数,“1”是奇数。 对于十进制,“0”,“2”,“4”,“6”,“8”是偶数,其他是奇数。
除了最后一个数字/位之外,什么都不需要检查。