if (j&(1<

pww71 2008-06-08 01:39:32
for(j = 0; j <dotCount; j++)// 重新排序
{
p = 0;
for(i = 0; i <power; i++)
{
if (j&(1<<i))
{
p+=1<<(power-i-1);
}
}
pFd[j]=temReg1[p];
}
if (j&(1<<i))这段什么意思。j和2的i次幂的关系
...全文
817 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhmm1983 2011-07-14
  • 打赏
  • 举报
回复
没想到看到这个帖子,
if (j&(1 <<i))不是if( 2^i == j )
只要j&(1 <<i)不为0,就为真,下一步p+=1<<(power-i-1)
就要运行;
不然p+就没意义了
pww71 2008-06-12
  • 打赏
  • 举报
回复
BYTE(FloatToChar(pDbTemp[i]) ^ 0x80);是什么意思
fallening 2008-06-09
  • 打赏
  • 举报
回复
for(j = 0; j <dotCount; j++)// 重新排序
{
p = 0;
for(i = 0; i <power; i++)
{
if (j&(1 <<i))
//这里如果j=2^i,那么为真
//否则就是假
//就是这个意思,你可以理解为
//if( 2^i == j )
{
p+=1 < <(power-i-1);
}
}
pFd[j]=temReg1[p];
}
ww2734 2008-06-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pww71 的回复:]
按位与是什么意思
[/Quote]
举个列子:
两个二进制数
a=00000011,b=00000010;
a&b=00000010.
各个位进行比较都为1的结果为1;否则为0;
Supercaller 2008-06-09
  • 打赏
  • 举报
回复
对于整形或字符型的数据,将其转化为二进制的数据,与另一个二进制数据每一位进行位运算……自己去找找资料更好
pww71 2008-06-08
  • 打赏
  • 举报
回复
按位与是什么意思
davelv 2008-06-08
  • 打赏
  • 举报
回复
<<是移位运算符,1<<i意思就是1的二进制向左移动i位
j&(1 < <i))然后再和j按位与~~

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧