输入一个整数,判断该整数的字节的奇数位上是否都是0。左边第一位当作第0位。这题怎么做?谢谢!

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:42:08
本人菜鸟, 请问整数的字节怎么看出来?
用c++

整数的字节是不正确的讲法,应该说成“整数的二进制表示法”。

解题大体思路是:
1、声明临时变量bit=1
2、bit=bit+bit,如果bit等于0(超过机器整数范围),则说明整数的字节的奇数位上都是0
3、二进制整数 与 bit 进行 按位与(C语言中的&) 运算
4、检查第3步中的运算结果,结果不为零,表示整数的字节的奇数位上不都是0,否则继续2-4步骤

bool fun(long num)
{
long temp = 1;

do
{
temp += temp;
if( temp & num )
return false;
}while(temp);
return true;
}

三位化为一字节.