11问答网
所有问题
在单片机的C语言中,temp=temp<<1,是左移一位,最低位补零,还是左移一位,最高位补到最低位?
如题所述
举报该问题
推荐答案 2010-09-23
这跟你的编译器有关吧,如果是keil c51 应该是是左移一位,最低位补零。具体你可以反汇编看一下。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/F72M8vS87.html
其他回答
第1个回答 2010-09-23
据我所知, 几种C/C++编译器, <<左移,都是最低位补零, 这不会有二义性.
几种C/C++编译器只是在对有符号数 位右移>> 倒是有区别.
第2个回答 2021-07-23
其实不是这样的,这个应该是循环移位, 我定义一个无符号整型变量A的时候就发现了这个问题,系统给它分配值0xff, 这个时候无法你移多少位,结果还是0xff,移出去的位填回低位或高位了。
第3个回答 2010-09-23
补0。
相似回答
单片机c语言
编程语句
temp=temp
<<
1
和temp=temp<<1+1怎么理解 ,他们有...
答:
temp=temp<<1表示将temp左移一位;temp=temp<<1+1则是将temp左移一位后加1
。左移的含义:比如temp=00001111B(二进制),那么temp<<1的结果是00011110,也就是temp的数据位依次向左移动一位,最高位可以认为被舍弃,最低位由0补齐。这是基本的位运算,可以参考相关的C语法书目。
大家正在搜
单片机中temp
temp1单片机
51单片机temp
单片机中取反是什么意思
c语言中temp
单片机中TH0
单片机中TR0
什么是单片机
单片机uchar是什么意思
相关问题
求解单片机中C编的几个指令 temp <<= 1 和temp...
单片机c语言编程语句temp=temp<<1和temp=te...
一个用C语言做51单片机做流水灯控制向左移动一位,右边补0的...
c语言编单片机程序时右移(>>)前面补0还是1
C语言中temp=1<<i;是什么意思,temp和i定义为整...
C语言 左移位的问题,求大神,帮忙解释一下!!!
C语言中变量左移一位后,被移动的数据存储在哪里
补码算术左移,数据顺次左移一位(最低最高位分别作何操作?)