用keil中编写c语言程序,"(temp&0x80)>>7;"是什么意思?

2024-11-01 08:42:52
有5个网友回答
网友(1):

temp&0x80表示只取temp的最高位,结果是0x00或0x80。(temp&0x80)>>7表示将最高位右移7位,就是说最高位转到最低位,并左补0。
那么00右移7位是00,0x80右移7位是0x01

网友(2):

(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

希望满意!!!望采纳!!!
如果觉得好,望赞同!!!

网友(3):

这是先对temp的最高位状态进行筛选,看其到底是1还是0,然后再右移7位,变成最低位。这样循环8次就是一字节了。是不是做单片机呢吧,这是最高位溢出时常用的方法,比如18b20的正负号问题

网友(4):

判断temp的最高位,如果最高位为1,计算结果就是1,如果最高位为0,计算结果就是0.

网友(5):

temp按位与0x80 得到的结果向右位移 7 位