C语言中 if(addr&0x80)什么意思?这里addr是一个8位数据
ADDR&0x8 0有点且表达式,0x8 0二进制代码为1 000000。使用0x8 0和ADDR执行操作(&),这意味着在较低和较低的ADDR中清洁7 位,只有最高的1 位可以维护。
然后,如果(ADDR&0x8 0)意味着确定ADDR的最高位是否为1 如果地址代表地址行,则该语句的含义是检测8 位地址行中的7 位(最低位是0位)是否设置为1
C语言问题,高手帮我看看下面这段语句,是什么意思。 特别是p = (unsigned int *)(0x4000+Addr);我看不懂。
p =(unsignInt*)(0x4 000+addr); 该句子指向地址为0x4 000+addr。0x4 000是映射在CPU地址空间上的EEPROM的基础地址,ADDR是指偏移量。
例如,如果要将数据写入此EEPROM的单元0x0002 ,则只需要在0x4 002 中写入数据即可。
下一个 *p = data; 该句子是将数据写入0x4 000+ADDR地址,也就是说,将数据写入此EEPROM的ADDR单元。