代码拉取完成,页面将自动刷新
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//这个代码是通过使用按位与的方式来判断输入的数字,相关的步骤见下面
//按位与的详细操作是:对应位有0就是0,全为1时才是1
int main()
{
int n;
cout << "Which number do you want to test?\n";
cin >> n;
if (n & 1)
cout << "number " << n << '\t' << "is odd.\n";
else
cout << "number " << n << '\t' << "is even.\n";
return 0;
}
//
// 1为一个正数,所以原,反,补码完全相同。
// 1; 00000000 00000000 00000000 00000001
//
// 当我们输入一个奇数时:
// 例一:5
// 5 00000000 00000000 00000000 00000101
// 1 00000000 00000000 00000000 00000001
// 结果: 00000000 00000000 00000000 00000001 即1
//
// 例二:15
//15 00000000 00000000 00000000 00001111
//1 00000000 00000000 00000000 00000001
//结果: 00000000 00000000 00000000 00000001 即1
//
//
// 当我们输入一个偶数的时候:
// 例一:6
//6 00000000 00000000 00000000 00000110
//1 00000000 00000000 00000000 00000001
//结果: 00000000 00000000 00000000 00000000 即0
//
// 例二:14
//14 00000000 00000000 00000000 00001110
//1 00000000 00000000 00000000 00000001
//结果: 00000000 00000000 00000000 00000000 即0
//
//
// 对结果的分析:
// 按位与的操作,是对应位为0,则为0;对应位全为1时,才为1
// 1的补码比较特殊,除了最后一位为1以外,其余的位数全部为0
// 这就使得,使最后结果为1还是0的关键性因素在输入数字的二进制位的最后一位
// 并且我们知道,奇数的最后一位肯定是1,与1的最后一位取按位与之后,结果为1,为真,所以输出该数字为奇数
// 同理,如果输入的数字为一个偶数,则取按位与之后的结果不是1,对应第二种结果,即输出该数字为偶数
//
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。