00问答网
所有问题
C语言位移(左移右移有无符号)之后可以返回原值么?
C语言位移(左移右移有无符号)之后可以返回原值么,请详解,谢谢!
举报该问题
推荐答案 推荐于2017-10-15
左移右移并不会改变原值,例如
int a = 1;
a<<2;
printf("%d", a); //输出还是1
如果你问的是
int a=1;
a=a<<2;
a=a>>2;
那么最终a的值还是1
但是如果溢出了就移不回来了
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://00.wendadaohang.com/zd/ZjTDIrrIe.html
其他回答
第1个回答 2012-07-31
如果不被赋值的话,是不改变原来变量的。
我有点没明白你的意思,你可以在百度HI里面联系我把,我帮你解决一下。
第2个回答 2017-10-14
返景入深林,
相似回答
C语言
的移位操作符使用方法
答:
如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是否带符号有关
。若是不带符号数,则补入的数全部为0;若是带符号数,则补入的数全部等于原数的最左端位上的原数(即原符号位)。具体移位规则如下所示。
C语言中移
位运算的详细解释。
答:
左移
1位相当于该数乘以2,左移2位相当于该数乘以2*2=4,15<<2=60,即乘了4。但此结论只适用于该数左移时被溢出舍弃的高位中不包含1的情况。假设以一个字节(8位)存一个整数,若a为
无符号
整型变量,则a=64时,左移一位时溢出的是0,而左移2位时,溢出的高位中包含1。6、右移运算...
C语言中
>>=是什么意思?另外有符十进制和
无符
十进制有什么区别?
答:
你好:“>>=”这个符号是
位移
指令,左边为目标数,右边位操作数,比如一个二进制数为0100,然后通过位移0100>>=1之后变为0010;就是将每一位的数往右移一位,其高位自动补0,若0100>>=2则位移两位,结果是0001;顺便附说一下,>>=是右移,<<=就是
左移
,原理相同,低位自动补0.十进制的
有
...
C语言
位运算符:与、或、异或、取反、
左移
和
右移
!
答:
右移(
>>):</
无符号
数右移时,高位自动补0;而对于有符号数,右移可能会影响到符号位(算术或逻辑移位)。例如,无符号数右移会导致溢出为0,这是理解数据类型特性的关键点。移位的微妙差别:</
左移
时,根据移位方式(逻辑或算术)的区别,可能会产生不同的结果。例如,a = 113755 (二进制)...
大家正在搜
c语言中左移右移符号
c语言位运算左移右移
c语言左移和右移运算符
c语言左移和右移怎么算
有符号数左移怎么移
c语言中左移运算符怎么用
c语言位运算符左移
c语言中的左移运算符
无符号左移
相关问题
c语言中为什么左移不分符号数无符号数,而右移分呢??
c语言中为什么左移不分符号数无符号数,而右移分呢??
c语言无符号单字节数的八位以内的循环右移循环左移怎么写
c语言怎么实现无符号右移
C语言中无符号数的右移 高位应该补0还是补1?
关于C语言输出无符号16进制的问题