提问者:小点点

如果我想在C++中接受一个输入,但是整数很长(例如1000101010101001),我该怎么办?


如果我想在C++中接受一个输入,但是整数很长(例如1000101010101001),我该怎么办? 我试过使用long long int,但是没有用。

int main() 
{ 
long int number = 14072020; 
binaryeven(number); 
int num2;
/*cin>>num2;*/
binaryodd(number);
checkeven(14072020,1101011010111000110101001);
return 0; 
 } 

共2个答案

匿名用户

如果需要从文本中读取某个值的二进制表示,只需使用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”是偶数,其他是奇数。

除了最后一个数字/位之外,什么都不需要检查。

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(想在|c++|中|接受|输入|整数|很长|1000101010101001)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?