下面还有一句移位操作吧?DIN的值根据每次和0x80与得结果,为1或0!
你可以软件仿真一下,观察DIN的值!
address&0x80意思是把address的值于0x80相与,也就是取address的高八位。address=0x87的话,address&0x80=0x80.DIN=(bit)(address&0x80); 是只要address的最高位,即 “1”。(bit)的意思是强制转化为位。
二楼正解,
这条指令时每次只有一个字节的结果,要有移位语句才能每次去一个字节。
0x80是01000000与address按位与,就得到(0?000000)
?是address的次高位