“移位运算符在移位操作中,无论左移还是右移,所移出的空位一律补0”这句话是否正确?

 我来答
常山赵子龙66
推荐于2019-10-30 · TA获得超过1.4万个赞
知道小有建树答主
回答量:145
采纳率:100%
帮助的人:6.8万
展开全部
  1. 移位操作在程序设计中,位操作运算符的一种;

  2. 在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值;

  3. 左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。3.右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定;

  4. 在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。

等风亦等你的贝
2018-05-28 · TA获得超过1.1万个赞
知道小有建树答主
回答量:122
采纳率:96%
帮助的人:3.5万
展开全部

不完全正确。

1、移位操作在程序设计中,移位操作运算符的一种。

2、在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。

3、首先要明白一点,这里面所有的操作都是针对存储在计算机中中二进制的操作,那么就要知道,正数在计算机中是用二进制表示的,负数在计算机中使用补码表示的。

左移位:<<,有符号的移位操作;

左移操作时将运算数的二进制码整体左移指定位数,左移之后的空位用0补充;

右移位:>>,有符号的移位操作;

右移操作是将运算数的二进制码整体右移指定位数,右移之后的空位用符号位补充,如果是正数用0补充,负数用1补充。

无符号的移位只有右移:>>>

右移之后的空位全部补0。

4、你可以用一个立即值(从 0 到 31)指定移位数量,或用包含在 0 和 31 之间的一个值的寄存器指定移位数量。

逻辑或算术左移(LSL)

MOV R1, #12

MOV R0, R1, LSL#2

R0 是 48,这些指令形成的总和是R0 = #12, LSL#2 等同于 BASIC 的 R0 = 12 << 2

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2f3f14d27
2018-03-31 · 知道合伙人互联网行家
百度网友2f3f14d27
知道合伙人互联网行家
采纳数:10387 获赞数:10681
工作于皖北矿务局,负责网络建设、维护,及大中小型服务器架设。

向TA提问 私信TA
展开全部
移位操作在程序设计中,位操作运算符的一种。
1.在c++中,移位运算符有双目移位运算符:<<(左移)和>>(右移)。移位运算符组成的表达式也属于算术表达式,其值为算术值。
2.左移运算是将一个二进制位的操作数按指定移动的位数向左移位,移出位被丢弃,右边的空位一律补0。3.右移运算是将一个二进制位的操作数按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者一律补0,或者补符号位,这由不同的机器而定。
在使用补码作为机器数的机器中,正数的符号位为0,负数的符号位为1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式