当前位置: 首页 > 知识库问答 >
问题:

系统出来打印(16>>>3)?[副本]

裴凯定
2023-03-14

我试试密码

<代码>系统。出来println(16

并且输出为2!

但是这是如何工作的?语法是什么?

共有3个答案

夏侯腾
2023-03-14

另一个注意,3个符号表示无符号的右位移位。虽然在这个例子中没有区别...

额外的<代码>

-128 >> 2 = -128 / 2^2 = -32

有符号的位被保留,给出:

(1) 10000000 >> 2 = (1) 100000 
11111111 11111111 11111111 10000000 >> 2 = 1111111 11111111 11111111 11100000

如果<代码>

-128 >>> 2 = 536870896

11111111 11111111 11111111 10000000 >> 2 = 0011111 11111111 11111111 11100000
武功
2023-03-14

这称为零填充右移(也称为-无符号右移)。

为了便于理解,对于每一班,你的数字除以2。所以:

16 >>> 3  ==  16 / 2^3 == 16 / 8 == 2

有关更多详细信息,请参阅JLS-值班操作员。

为了实现真正的可视化,请查看两个数字的位表示:

16        - 00010000
16 >>> 3  - 00000010 == 2
孙思源
2023-03-14

16个

16 -> 00010000
         ^
          \
           \
2 ->  00000010
 类似资料:
  • 我如何才能使打印在控制台中的消息不是直接发出,而是一点一点地发出

  • 我不明白一件事,方法引用的类型不应该是函数接口吗?那么我们如何通过这个系统呢。输出::println作为forEach的参数?在以下代码中: 1-is系统。是消费者吗? 2-如果是,它的泛型类型是什么?我不是指调用方法的列表类型,而是传递给foreach的方法引用的泛型类型。

  • 我正在从兔子队列接收数据,我正试图将其转换为。消息始终以SOH字符开头,并始终以VT字符结尾,后跟ETX字符。数据接收正确,打印到控制台的字节数组正确。问题是,在转换为

  • 问题内容: 我有一个Python 3脚本,它将在一些RTF文本文件()上做一些正则表达式替换,并且我希望能够在Windows,Linux和Mac上打印出整个目录的文件。 有没有一种方法可以打印到操作系统的默认打印机,从而使其在所有平台上均可工作? 问题答案: 没有跨平台的方式。在Linux和OS X上,您可以通过调用,而CUPS将尽可能地更好地处理文档转换,但是Windows比较麻烦。

  • 但是,正确的数据条目在被调用时会打印出来。我试着在网上寻找我应该做什么的答案,但我找不到任何实际可行的东西。我刚刚开始学习Java,所以可能有一个非常简单的答案,我只是忽略了。如果有人有什么想法,我将不胜感激。