temp&0x80表示只取temp的最高位,结果是0x00或0x80。(temp&0x80)>>7表示将最高位右移7位,就是说最高位转到最低位,并左补0。
那么00右移7位是00,0x80右移7位是0x01
(temp&0x80)>>7
temp的最高位移到最低位
temp t7 t6 t5 t4 t3 t2 t1 t0
0x80 1 0 0 0 0 0 0 0
temp&0x80 t7 0 0 0 0 0 0 0
(temp&0x80)>>7 0 0 0 0 0 0 0 t7
希望满意!!!望采纳!!!
如果觉得好,望赞同!!!
这是先对temp的最高位状态进行筛选,看其到底是1还是0,然后再右移7位,变成最低位。这样循环8次就是一字节了。是不是做单片机呢吧,这是最高位溢出时常用的方法,比如18b20的正负号问题
判断temp的最高位,如果最高位为1,计算结果就是1,如果最高位为0,计算结果就是0.
temp按位与0x80 得到的结果向右位移 7 位