首页 > 试题广场 >

下面那些话是正确的()

[不定项选择题]

下面哪些选项是正确的()

  • >>是算术右移操作符
  • >>是逻辑右移操作符
  • >>>是算术右移操作符
  • >>>是逻辑右移操作符
A,D
就是这么规定的吧。
>> 右移 高位补符号位
>>> 右移 高位补0
发表于 2017-02-06 08:52:27 回复(4)
哈哈哈,完美避开正确答案
发表于 2022-03-18 09:37:30 回复(5)

运算符“>>”执行算术右移,它使用最高位填充移位后左侧的空位。

    右移的结果为:每移一位,第一个操作数被2除一次,移动的次数由第二个操作数确定。

逻辑右移或叫无符号右移运算符“>>>“只对位进行操作,没有算术含义,它用0填充左侧的空位。

算术右移不改变原数的符号,而逻辑右移不能保证这点。

移位运算符约简其右侧的操作数,当左侧操作数是int类型时,右侧以32取模;当左侧是long类型时,右侧以64取模。

发表于 2020-08-07 16:58:55 回复(1)
  • 逻辑左移时,最高位丢失,最低位补0;
  • 逻辑右移时,最高位补0,最低位丢失;
  • 算术左移时,依次左移一位,尾部补0,最高的符号位保持不变。
  • 算术右移时,依次右移一位,尾部丢失,符号位右移后,原位置上复制一个符号位;
  • 循环左移时,将最高位重新放置最低位
  • 循环右移时,将最低位重新放置最高位
例如:
  • 1010100010101
  • 逻辑左移一位结果为 0101000101010
  • 逻辑右移一位结果为 0101010001010
  • 算术左移一位结果为 1101000101010
  • 算术右移一位结果为 1101010001010
  • 循环左移一位结果为 0101000101011
  • 循环右移一位结果为 1101010001010
发表于 2022-06-30 16:04:35 回复(1)
>> 和 >>> 都是右移!
区别:
>>  最高位填充符号位
>>>  最高位补0
发表于 2022-09-20 17:34:22 回复(0)
逻辑右移就是不考虑符号位,右移一位,左边补零即可。 算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。
发表于 2023-09-04 11:38:59 回复(0)
这是java,还是c++的题目?c++里面没有>>>,是逻辑位移,还是算术位移,要看符号位
发表于 2021-06-17 16:12:03 回复(0)

“>>”和“>>>”都是计算机编程语言中的右移操作符,但它们的功能有所不同。具体来说:

  1. “>>”是算术右移操作符:

    • 在许多计算机编程语言(如C语言、C++、Java、JavaScript等)中,“>>”代表右移运算符。
    • 该运算符会按照操作符右侧指定的位数将操作符左边的操作数向右移动,移动到右边界之外的多余位会被丢弃。
    • 对于正数,左边界(即高位)会补0;对于负数,左边界会补1(即保持符号位不变,进行符号扩展)。
  2. “>>>”是逻辑右移操作符:

    • 在Java等编程语言中,“>>>”代表无符号右移运算符,也称为逻辑右移。
    • 该运算符同样会按照操作符右侧指定的位数将操作数向右移动,并丢弃移动到右边界之外的位。
    • 与算术右移不同的是,逻辑右移无论操作数的正负,在左边界(即高位)都会补0。
发表于 2024-10-17 19:46:19 回复(0)
个人理解。 >>算术右移:移动后会可能会变符号,所以叫算术右移。 >>>逻辑右移:移动后高位补零,符号不变。
发表于 2023-02-12 14:02:59 回复(1)
逻辑左移时,最高位丢失,最低位补0; 逻辑右移时,最高位补0,最低位丢失; 算术左移时,依次左移一位,尾部补0,最高的符号位保持不变。 算术右移时,依次右移一位,尾部丢失,符号位右移后,原位置上复制一个符号位; 循环左移时,将最高位重新放置最低位 循环右移时,将最低位重新放置最高位 例如: 1010100010101 逻辑左移一位结果为 0101000101010 逻辑右移一位结果为 0101010001010 算术左移一位结果为 1101000101010 算术右移一位结果为 1101010001010 循环左移一位结果为 0101000101011 循环右移一位结果为 1101010001010
发表于 2022-10-08 23:57:53 回复(0)
逻辑右移>>>,右移1位补0 算数右移>>,右移1位补1个符号位。
编辑于 2024-04-17 01:00:25 回复(0)
  >> 和 >>> 都是右移!
区别:
>>  最高位填充符号位   算术右移
>>>  最高位补0   逻辑右移

编辑于 2024-03-15 09:43:35 回复(0)
逻辑右移(>>>);最高位补零,算术右移(>>)最高位补符号位(正数补零,负数补1)。算术左移(<<)最低位补零,Java中没有逻辑左移。
编辑于 2023-09-06 21:50:38 回复(0)
算术右移 左面补符号位, 逻辑右移 左面补0
发表于 2023-08-28 09:36:48 回复(0)
算数带符号,逻辑不带符号
发表于 2023-07-10 12:28:45 回复(0)
>> 右移 高位补符号位  符号不变  是算数右移
>>> 无符号右移 高位补0  符号可能改变  是逻辑右移
发表于 2022-08-25 08:31:12 回复(0)
好像>>是带符号右移;>>>是无符号右移
发表于 2022-07-08 17:05:48 回复(0)
完全记反了,悲剧
发表于 2022-03-16 18:19:24 回复(0)
记反了。。。
发表于 2022-01-31 14:13:15 回复(0)
c++算术右移和逻辑右移不是共用>>吗
发表于 2021-06-16 22:09:45 回复(0)