• <i id='JpX6y'><tr id='JpX6y'><dt id='JpX6y'><q id='JpX6y'><span id='JpX6y'><b id='JpX6y'><form id='JpX6y'><ins id='JpX6y'></ins><ul id='JpX6y'></ul><sub id='JpX6y'></sub></form><legend id='JpX6y'></legend><bdo id='JpX6y'><pre id='JpX6y'><center id='JpX6y'></center></pre></bdo></b><th id='JpX6y'></th></span></q></dt></tr></i><div id='JpX6y'><tfoot id='JpX6y'></tfoot><dl id='JpX6y'><fieldset id='JpX6y'></fieldset></dl></div>
    <tfoot id='JpX6y'></tfoot>

      <bdo id='JpX6y'></bdo><ul id='JpX6y'></ul>

      <legend id='JpX6y'><style id='JpX6y'><dir id='JpX6y'><q id='JpX6y'></q></dir></style></legend>

      1. <small id='JpX6y'></small><noframes id='JpX6y'>

        value &amp; 是什么意思?0xff 在 Java 中做什么?

        时间:2023-10-01
        <legend id='gK6e5'><style id='gK6e5'><dir id='gK6e5'><q id='gK6e5'></q></dir></style></legend>

          <tbody id='gK6e5'></tbody>

        <small id='gK6e5'></small><noframes id='gK6e5'>

          <bdo id='gK6e5'></bdo><ul id='gK6e5'></ul>

            <i id='gK6e5'><tr id='gK6e5'><dt id='gK6e5'><q id='gK6e5'><span id='gK6e5'><b id='gK6e5'><form id='gK6e5'><ins id='gK6e5'></ins><ul id='gK6e5'></ul><sub id='gK6e5'></sub></form><legend id='gK6e5'></legend><bdo id='gK6e5'><pre id='gK6e5'><center id='gK6e5'></center></pre></bdo></b><th id='gK6e5'></th></span></q></dt></tr></i><div id='gK6e5'><tfoot id='gK6e5'></tfoot><dl id='gK6e5'><fieldset id='gK6e5'></fieldset></dl></div>

              <tfoot id='gK6e5'></tfoot>
                1. 本文介绍了value &amp; 是什么意思?0xff 在 Java 中做什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我有以下 Java 代码:

                  I have the following Java code:

                  byte value = 0xfe; // corresponds to -2 (signed) and 254 (unsigned)
                  int result = value & 0xff;
                  

                  打印时的结果是 254,但我不知道这段代码是如何工作的.如果 & 运算符只是按位操作,那么为什么它不会产生一个字节而是一个整数呢?

                  The result is 254 when printed, but I have no idea how this code works. If the & operator is simply bitwise, then why does it not result in a byte and instead an integer?

                  推荐答案

                  它将 result 设置为将 value 的 8 位放入result 的最低 8 位.

                  It sets result to the (unsigned) value resulting from putting the 8 bits of value in the lowest 8 bits of result.

                  之所以需要这样的东西是因为 byte 在 Java 中是一个有符号类型.如果你只是写:

                  The reason something like this is necessary is that byte is a signed type in Java. If you just wrote:

                  int result = value;
                  

                  然后 result 将以 ff ff ff fe 值结束,而不是 00 00 00 fe.更微妙的是,& 被定义为仅对 int1 进行操作,所以发生的情况是:

                  then result would end up with the value ff ff ff fe instead of 00 00 00 fe. A further subtlety is that the & is defined to operate only on int values1, so what happens is:

                  1. value 被提升为 int (ff ff ff fe).
                  2. 0xffint 文字(00 00 00 ff).
                  3. 应用 & 以产生 result 的所需值.
                  1. value is promoted to an int (ff ff ff fe).
                  2. 0xff is an int literal (00 00 00 ff).
                  3. The & is applied to yield the desired value for result.

                  (关键是转换为 int 发生在 应用 & 运算符之前.)

                  (The point is that conversion to int happens before the & operator is applied.)

                  1嗯,不完全是.如果任一操作数是 long& 运算符也适用于 long 值.但不在 byte 上.请参阅 Java 语言规范, 部分15.22.1 和 5.6.2.

                  1Well, not quite. The & operator works on long values as well, if either operand is a long. But not on byte. See the Java Language Specification, sections 15.22.1 and 5.6.2.

                  这篇关于value &amp; 是什么意思?0xff 在 Java 中做什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:Java中的整数和int有什么区别? 下一篇:int 类型的字面量 xyz 超出范围

                  相关文章

                  最新文章

                  <small id='P6nDc'></small><noframes id='P6nDc'>

                  1. <i id='P6nDc'><tr id='P6nDc'><dt id='P6nDc'><q id='P6nDc'><span id='P6nDc'><b id='P6nDc'><form id='P6nDc'><ins id='P6nDc'></ins><ul id='P6nDc'></ul><sub id='P6nDc'></sub></form><legend id='P6nDc'></legend><bdo id='P6nDc'><pre id='P6nDc'><center id='P6nDc'></center></pre></bdo></b><th id='P6nDc'></th></span></q></dt></tr></i><div id='P6nDc'><tfoot id='P6nDc'></tfoot><dl id='P6nDc'><fieldset id='P6nDc'></fieldset></dl></div>
                    • <bdo id='P6nDc'></bdo><ul id='P6nDc'></ul>
                      <tfoot id='P6nDc'></tfoot>
                      <legend id='P6nDc'><style id='P6nDc'><dir id='P6nDc'><q id='P6nDc'></q></dir></style></legend>