这邪教是神马东西西? Dat?

请问:这个是什么意思 data = data || []【javascript吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:151,312贴子:
请问:这个是什么意思 data = data || []收藏
data = data || []
有点看不明白
求各位指点
还在找人做网站吗?自己试着做一个吧!
登录百度帐号推荐应用查看: 1076|回复: 8
dat = (dat&&1) | (dat1&&7);是什么意思,什么功能?
在下面程序中,
uchar Ds1302Read(uchar addr)
& && &&&uchar n,dat,dat1;
& && &&&RST = 0;
& && &&&_nop_();
& && &&&SCLK = 0;//先将SCLK置低电平。
& && &&&_nop_();
& && &&&RST = 1;//然后将RST(CE)置高电平。
& && &&&_nop_();
& && &&&for(n=0; n&8; n++)//开始传送八位地址命令
& && && && && & DSIO = addr & 0x01;//数据从低位开始传送
& && && && && & addr &&= 1;
& && && && && & SCLK = 1;//数据在上升沿时,DS1302读取数据
& && && && && & _nop_();
& && && && && & SCLK = 0;//DS1302下降沿时,放置数据
& && && && && & _nop_();
& && &&&_nop_();
& && &&&for(n=0; n&8; n++)//读取8位数据
& && && && && & dat1 = DSIO;//从最低位开始接收
& && && && && & dat = (dat&&1) | (dat1&&7);
& && && && && & SCLK = 1;
& && && && && & _nop_();
& && && && && & SCLK = 0;//DS1302下降沿时,放置数据
& && && && && & _nop_();
& && &&&RST = 0;
& && &&&_nop_();& && &&&//以下为DS1302复位的稳定时间,必须的。
& && &&&SCLK = 1;
& && &&&_nop_();
& && &&&DSIO = 0;
& && &&&_nop_();
& && &&&DSIO = 1;
& && &&&_nop_();
& && &&&& && &&&
问题1:& && &&&dat = (dat&&1) | (dat1&&7);是什么意思,什么功能?
问题2:dat1 = DSIO;//从最低位开始接收,数据明明是给了dat1,但是最后return 的数据 却是  dat ??为什么???
本帖最后由 zyldlzh 于
23:34 编辑
只能告诉你,dat=(dat&&1)|(dat1&&7)
dat=(dat按位右移1位)相或同假为假一真即真|(dat1按位左移7位)
貌似是!!!还会补零
RE: dat = (dat&&1) | (dat1&&7);是什么意思
只能告诉你,dat=(dat&&1)|(dat1
假如dat=B,dat1=B,其中B是二进制的意思,dat&&1意思是右移一位,dat=B右移一位=B。dat1&&7意思是左移七位,dat1=B左移七位=B。(dat&&1) | (dat1&&7)意思是括号中的两个数进行“或”运算。在不能理解的情况下可以把它简单理解为相加,(dat&&1) | (dat1&&7)=(B) | (B)=(B) + (B)= 3。可以用十进制运算来验证一下,,8,+128=133,运算结果是相等的。
我把这个句子拆分下,dat右移1位,左侧空位补0;dat1左移7位,右侧空位补0,将两个结果按位或运算,赋值给dat
你的程序最后一句话写的是如果想返回dat1,就写return dat1;
& && & for(n=0; n&8; n++)//读取8位数据
& && && && && & dat1 = DSIO;//从最低位开始接收
& && && && && & dat = (dat&&1) | (dat1&&7);
& && && && && & SCLK = 1;
& && && && && & _nop_();
& && && && && & SCLK = 0;//DS1302下降沿时,放置数据
& && && && && & _nop_();
温度是单总线的,一个温度值需要读8次,显然dat1只有最低位有效,通过(dat1&&7)将有效位移至最高位,然后在(dat)的最高位。通过8次移位,正好将8次读到的值赋值到dat。
dat&&1,右移一位,高1位补零,变成0XXXXXXX。
dat1&&7左移七位,低7位补零,变成X0000000,
(dat&&1)|(dat1&&7),逐位或,即相当于取前者后7位,取后者前1位,构成8位。
dat=(dat&&1)|(dat1&&7),新构成的8位给dat‘
最终结果就是:取dat前7位作其后7位,而取dat1后1位代替dat的高1位。
从上可知,dat结果与dat1是有关的。
dat = (dat&&1) | (dat1&&7)&&就是dat右移一位, dat1左移7位,当两个条件任何一个为真时,结果为1.
我上午的回复显示需要审核,怎么就不见了呢?
Powered by

参考资料

 

随机推荐