src/share/classes/java/lang/Short.java

Print this page


   1 /*
   2  * Copyright (c) 1996, 2011, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 450         return x - y;
 451     }
 452 
 453     /**
 454      * The number of bits used to represent a {@code short} value in two's
 455      * complement binary form.
 456      * @since 1.5
 457      */
 458     public static final int SIZE = 16;
 459 
 460     /**
 461      * Returns the value obtained by reversing the order of the bytes in the
 462      * two's complement representation of the specified {@code short} value.
 463      *
 464      * @return the value obtained by reversing (or, equivalently, swapping)
 465      *     the bytes in the specified {@code short} value.
 466      * @since 1.5
 467      */
 468     public static short reverseBytes(short i) {
 469         return (short) (((i & 0xFF00) >> 8) | (i << 8));































 470     }
 471 
 472     /** use serialVersionUID from JDK 1.1. for interoperability */
 473     private static final long serialVersionUID = 7515723908773894738L;
 474 }
   1 /*
   2  * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.  Oracle designates this
   8  * particular file as subject to the "Classpath" exception as provided
   9  * by Oracle in the LICENSE file that accompanied this code.
  10  *
  11  * This code is distributed in the hope that it will be useful, but WITHOUT
  12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14  * version 2 for more details (a copy is included in the LICENSE file that
  15  * accompanied this code).
  16  *
  17  * You should have received a copy of the GNU General Public License version
  18  * 2 along with this work; if not, write to the Free Software Foundation,
  19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any


 450         return x - y;
 451     }
 452 
 453     /**
 454      * The number of bits used to represent a {@code short} value in two's
 455      * complement binary form.
 456      * @since 1.5
 457      */
 458     public static final int SIZE = 16;
 459 
 460     /**
 461      * Returns the value obtained by reversing the order of the bytes in the
 462      * two's complement representation of the specified {@code short} value.
 463      *
 464      * @return the value obtained by reversing (or, equivalently, swapping)
 465      *     the bytes in the specified {@code short} value.
 466      * @since 1.5
 467      */
 468     public static short reverseBytes(short i) {
 469         return (short) (((i & 0xFF00) >> 8) | (i << 8));
 470     }
 471 
 472 
 473     /**
 474      * Converts the argument to an {@code int} by an unsigned
 475      * conversion.  In an unsigned conversion to an {@code int}, the
 476      * high-order 16 bits of the {@code int} are zero and the
 477      * low-order 16 bits are equal to the bits of the {@code short} argument.
 478      *
 479      * @return the argument converted to {@code int} by an unsigned
 480      *         conversion
 481      * @param  x the value to convert to an unsigned {@code int}
 482      * @since 1.8
 483      */
 484     public static int toUnsignedInt(short x) {
 485         return ((int) x) & 0xffff;
 486     }
 487 
 488     /**
 489      * Converts the argument to a {@code long} by an unsigned
 490      * conversion.  In an unsigned conversion to a {@code long}, the
 491      * high-order 48 bits of the {@code long} are zero and the
 492      * low-order 16 bits are equal to the bits of the {@code short} argument.
 493      *
 494      * @return the argument converted to {@code long} by an unsigned
 495      *         conversion
 496      * @param  x the value to convert to an unsigned {@code long}
 497      * @since 1.8
 498      */
 499     public static long toUnsignedLong(short x) {
 500         return ((long) x) & 0xffffL;
 501     }
 502 
 503     /** use serialVersionUID from JDK 1.1. for interoperability */
 504     private static final long serialVersionUID = 7515723908773894738L;
 505 }