Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Wiki Markup
This noncompliant code example shows integer promotion resulting from the use of the bit-wise OR operator. The byte array element is sign extended to 32 bits before it is used as an operand. If it originally contained the value {{0xff}}, it would contain {{0xffffffff}} \[[Findbugs 2008|AA. Bibliography#FindbugsReferences#Findbugs 08]\].  

Code Block
bgColor#ffcccc
int result = 0;
for(int i = 0; i < 4; i++) 
  result = ((result << 8) | b[i]);

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a6e41a9d2c87fa36-c5d0936d-48c34a35-b3108be6-e229495d3d7bf19cc3bff832"><ac:plain-text-body><![CDATA[

[[Bloch 2005

AA. Bibliography#Bloch References#Bloch 05]]

Puzzle 9: "Tweedledum"

]]></ac:plain-text-body></ac:structured-macro>

 

Puzzle 31: "Ghost of Looper"

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e14f9088d210f80b-5d76fb1e-4c774d46-96c2ac9a-9be373ba099994e7220dad99"><ac:plain-text-body><![CDATA[

[[Findbugs 2008

AA. Bibliography#Findbugs References#Findbugs 08]]

"BIT: Bitwise OR of signed byte value"

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="5d41e3b1bb166f4e-d48e2de6-455d4b4b-b6e5b112-be4cc4d075ff10a7d1dd989b"><ac:plain-text-body><![CDATA[

[[JLS 2005

AA. Bibliography#JLS References#JLS 05]]

[§4.2.2, "Integer Operations"

http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.2.2]

]]></ac:plain-text-body></ac:structured-macro>

 

§5.6, "Numeric Promotions"

 

§15.26.2, "Compound Assignment Operators"

...