不用任何位操作(&、|、^、<<、>>、~),實現一個函數,得到一個int型數的第九位(從第一位開始計數)
[cpp]
int check()
{
union utype
{
int i;
char c;
};
utype u;
u.i=1;
return u.c==1;
}
int getbit(int val)
{
char *p=(char *)&val;
p++;
if(check())
return (*p)%2; //如果是小端模式
else
return (*p)/128; //如果大端模式
}
int check()
{
union utype
{
int i;
char c;
};
utype u;
u.i=1;
return u.c==1;
}
int getbit(int val)
{
char *p=(char *)&val;
p++;
if(check())
return (*p)%2; //如果是小端模式
else
return (*p)/128; //如果大端模式
}
int get9thbit(int val)
{
return (val/256)%2;
}