单片机C语言里有这么一个语句room>>=1是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/05/12 20:06:57
如题

将变量ROOM换算成2进制,然后向右移一位,再赋值给ROOM,现在所得数就是ROOM现在的值。

将变量ROOM换算成2进制,然后向右移一位,再赋值给ROOM,现在所得数就是ROOM现在的值。
也就是:room = room >> 1;
直接点也就是room=room*2;

任何C语言都有
一般的计算机采用的补码形式。也就是将room这个变量的值转换为补码,然后右移一位,得到的值是room*2。想弄明白的话学学补码是怎么回事。

room = room >> 1;

room变量向右移动一位然后再赋值给room