public final class Long extends Number implements Comparable<Long>
Longクラスは、プリミティブ型longの値をオブジェクトにラップします。Long型のオブジェクトには、型がlongの単一フィールドが含まれます。
さらにこのクラスは、longをStringに、Stringをlongに変換する各種メソッドや、longの処理時に役立つ定数およびメソッドも提供します。
実装にあたっての注意: 「bit twiddling (ビット回転)」メソッド(highestOneBitやnumberOfTrailingZerosなど)の実装は、Henry S. Warren, Jr. 著『Hacker's Delight』(Addison Wesley, 2002)に基づいています。
| 修飾子と型 | フィールドと説明 |
|---|---|
static int |
BYTES
2の補数バイナリ形式で
long値を表すために使用されるバイト数。 |
static long |
MAX_VALUE
longに設定可能な最大値263-1を保持する定数。 |
static long |
MIN_VALUE
longに設定可能な最小値 -263を保持する定数。 |
static int |
SIZE
2の補数バイナリ形式で
long値を表すのに使用されるビット数。 |
static Class<Long> |
TYPE
プリミティブ型
longを表すClassインスタンス。 |
| コンストラクタと説明 |
|---|
Long(long value)
指定された
long引数を表す、新しく割り当てられたLongオブジェクトを構築します。 |
Long(String s)
Stringパラメータで示されるlong値を表す、新しく割り当てられたLongオブジェクトを構築します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
static int |
bitCount(long i)
指定された
long値の2の補数バイナリ表現での、1のビットの数を返します。 |
byte |
byteValue()
この
Longの縮小プリミティブ変換後の値をbyteとして返します。 |
static int |
compare(long x, long y)
2つの
long値を数値的に比較します。 |
int |
compareTo(Long anotherLong)
2つの
Longオブジェクトを数値的に比較します。 |
static int |
compareUnsigned(long x, long y)
2つの
long値を符号なしとして処理して数値的に比較します。 |
static Long |
decode(String nm)
StringをLongにデコードします。 |
static long |
divideUnsigned(long dividend, long divisor)
第1引数を第2引数で除算した符号なしの商を返します(各引数と結果は符号なしの値として解釈されます)。
|
double |
doubleValue()
この
Longの拡張プリミティブ変換後の値をdoubleとして返します。 |
boolean |
equals(Object obj)
このオブジェクトを指定されたオブジェクトと比較します。
|
float |
floatValue()
この
Longの拡張プリミティブ変換後の値をfloatとして返します。 |
static Long |
getLong(String nm)
指定された名前のシステム・プロパティの
long値を判定します。 |
static Long |
getLong(String nm, long val)
指定された名前のシステム・プロパティの
long値を判定します。 |
static Long |
getLong(String nm, Long val)
指定された名前のシステム・プロパティの
long値を返します。 |
int |
hashCode()
この
Longのハッシュ・コードを返します。 |
static int |
hashCode(long value)
Long.hashCode()との互換性がある、long値のハッシュ・コードを返します。 |
static long |
highestOneBit(long i)
指定された
long値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。 |
int |
intValue()
この
Longの縮小プリミティブ変換後の値をintとして返します。 |
long |
longValue()
この
Longの値をlong値として返します。 |
static long |
lowestOneBit(long i)
指定された
long値の最下位(「もっとも右側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。 |
static long |
max(long a, long b)
Math.maxを呼び出した場合と同様に、2つのlong値の大きいほうを返します。 |
static long |
min(long a, long b)
Math.minを呼び出した場合と同様に、2つのlong値の小さいほうを返します。 |
static int |
numberOfLeadingZeros(long i)
指定された
long値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。 |
static int |
numberOfTrailingZeros(long i)
指定された
long値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数を返します。 |
static long |
parseLong(String s)
文字列の引数を符号付き10進数
longとして構文解析します。 |
static long |
parseLong(String s, int radix)
2番目の引数に指定された基数をもとにして、文字列の引数を符号付き
longとして構文解析します。 |
static long |
parseUnsignedLong(String s)
文字列の引数を符号なし10進数の
longとして構文解析します。 |
static long |
parseUnsignedLong(String s, int radix)
2番目の引数に指定された基数をもとにして、文字列の引数を符号なし
longとして構文解析します。 |
static long |
remainderUnsigned(long dividend, long divisor)
第1引数を第2引数で割った符号なしの余りを返します。各引数と結果は符号なしの値として解釈されます。
|
static long |
reverse(long i)
指定された
long値の2の補数バイナリ表現でビットの順序を逆にして取得された値を返します。 |
static long |
reverseBytes(long i)
指定された
long値の2の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。 |
static long |
rotateLeft(long i, int distance)
指定された
long値の2の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。 |
static long |
rotateRight(long i, int distance)
指定された
long値の2の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。 |
short |
shortValue()
この
Longの縮小プリミティブ変換後の値をshortとして返します。 |
static int |
signum(long i)
指定された
long値の符号要素を返します。 |
static long |
sum(long a, long b)
+演算子のように、2つの
long値を加算します。 |
static String |
toBinaryString(long i)
long引数の文字列表現を、基数 2の符号なし整数として返します。 |
static String |
toHexString(long i)
long引数の文字列表現を、基数 16の符号なし整数として返します。 |
static String |
toOctalString(long i)
long引数の文字列表現を、基数 8の符号なし整数として返します。 |
String |
toString()
この
longの値を表すStringオブジェクトを返します。 |
static String |
toString(long i)
指定された
longを表すStringオブジェクトを返します。 |
static String |
toString(long i, int radix)
2番目の引数を基数として、1番目の引数の文字列表現を返します。
|
static String |
toUnsignedString(long i)
引数の文字列表現を、符号なし10進値として返します。
|
static String |
toUnsignedString(long i, int radix)
1番目の引数の文字列表現を、2番目の引数で指定された基数の符号なし整数値として返します。
|
static Long |
valueOf(long l)
指定された
long値を表すLongインスタンスを返します。 |
static Long |
valueOf(String s)
指定された
Stringの値を保持するLongオブジェクトを返します。 |
static Long |
valueOf(String s, int radix)
2番目の引数で指定された基数を使用した構文解析時に、指定された
Stringから抽出された値を保持するLongオブジェクトを返します。 |
@Native public static final int SIZE
long値を表すのに使用されるビット数。public static final int BYTES
long値を表すために使用されるバイト数。public Long(long value)
long引数を表す、新しく割り当てられたLongオブジェクトを構築します。value - Longオブジェクトによって表される値。public Long(String s) throws NumberFormatException
Stringパラメータで示されるlong値を表す、新しく割り当てられたLongオブジェクトを構築します。文字列は、基数10でparseLongメソッドを使用するのと同じようにlong値に変換されます。s - Longに変換するString。NumberFormatException - Stringが解析可能なlongを含まない場合。parseLong(java.lang.String, int)public static String toString(long i, int radix)
基数がCharacter.MIN_RADIXよりも小さい場合、あるいはCharacter.MAX_RADIXよりも大きい場合は、代わりに10を基数として使います。
1番目の引数が負の数である場合、生成された文字列の1番目の要素はマイナス記号のASCII文字'-' ('\u002d')になります。1番目の引数が負の数でない場合、生成された文字列には符号が付きません。
生成された文字列の残りの文字は、1番目の引数の絶対値を表します。絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、絶対値を表す文字の1番目の文字はゼロにはなりません。次のASCII文字を、数字の桁に使います。
0123456789abcdefghijklmnopqrstuvwxyz
これらは'\u0030' - '\u0039'および'\u0061' - '\u007a'です。radixがNの場合、これらの文字の先頭からN個が、示した順に基数Nの桁として使用されます。すなわち、16進数(基数は16)に使われる桁の数字は0123456789abcdefとなります。大文字を使いたい場合は、生成された文字列に対してString.toUpperCase()メソッドを呼び出すことができます。
Long.toString(n, 16).toUpperCase()
i - 文字列に変換するlong。radix - 文字列表現で使用する基数。Character.MAX_RADIX, Character.MIN_RADIXpublic static String toUnsignedString(long i, int radix)
基数がCharacter.MIN_RADIXよりも小さい場合、あるいはCharacter.MAX_RADIXよりも大きい場合は、代わりに10を基数として使います。
第1引数は符号なしの値として扱われるため、先行する符号文字が出力されないことに注意してください。
絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、絶対値を表す文字の1番目の文字はゼロにはなりません。
基数の動作、および数字の桁に使用される文字は、toStringと同じです。
i - 符号なし文字列に変換される整数。radix - 文字列表現で使用する基数。toString(long, int)public static String toHexString(long i)
long引数の文字列表現を、基数 16の符号なし整数として返します。
符号なしlong値は、引数が負の数の場合は、引数に264を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、16進数(基数16)のASCII文字列に変換されます。前に0は付きません。
引数の値を、返された文字列sから復元するには、Long.parseUnsignedLong(s, 16)を呼び出します。
符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。16進数の桁には、次の文字を使います。
0123456789abcdef
これらは文字'\u0030' - '\u0039'および'\u0061' - '\u0066'です。大文字を使いたい場合は、生成された文字列に対してString.toUpperCase()メソッドを呼び出すことができます。
Long.toHexString(n).toUpperCase()
i - 文字列に変換するlong。long値の文字列表現。parseUnsignedLong(String, int), toUnsignedString(long, int)public static String toOctalString(long i)
long引数の文字列表現を、基数 8の符号なし整数として返します。
符号なしlong値は、引数が負の数の場合は、引数に264を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、8進数(基数8)のASCII文字列に変換されます。前に0は付きません。
引数の値を、返された文字列sから復元するには、Long.parseUnsignedLong(s, 8)を呼び出します。
符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。次のASCII文字を、8進数の桁に使います。
01234567
これらは文字'\u0030' - '\u0037'です。i - 文字列に変換するlong。long値の文字列表現。parseUnsignedLong(String, int), toUnsignedString(long, int)public static String toBinaryString(long i)
long引数の文字列表現を、基数 2の符号なし整数として返します。
符号なしlong値は、引数が負の数の場合は、引数に264を加算した値になります。それ以外の場合は、引数に等しい値になります。この値は、2進数(基数2)のASCII文字列に変換されます。前に0は付きません。
引数の値を、返された文字列sから復元するには、Long.parseUnsignedLong(s, 2)を呼び出します。
符号なし絶対値がゼロである場合は、単一のゼロ文字'0' ('\u0030')で表されます。それ以外の場合は、符号なし絶対値を表す文字の1番目の文字はゼロにはなりません。2進数の桁には、文字'0' ('\u0030')および'1' ('\u0031')を使います。
i - 文字列に変換するlong。long値の文字列表現。parseUnsignedLong(String, int), toUnsignedString(long, int)public static String toString(long i)
longを表すStringオブジェクトを返します。引数は、符号付き10進数表現に変換されてから文字列として返されます。これは、引数および基数10をtoString(long, int)メソッドへの引数として指定した場合とまったく同じです。i - 変換するlong。public static String toUnsignedString(long i)
toUnsignedString(long, int)メソッドへの引数として指定した場合とまったく同じです。i - 符号なし文字列に変換される整数。toUnsignedString(long, int)public static long parseLong(String s, int radix) throws NumberFormatException
longとして構文解析します。文字列内の文字はすべて、指定された基数の桁である必要があります(Character.digit(char, int)から負でない値が返されるかどうかで判定)。ただし先頭の文字だけは、負の値を示すASCIIマイナス記号'-' ('\u002D')、正の値を示すASCIIプラス記号'+' ('\u002B')のどちらであってもかまいません。結果として得られるlong値が返されます。
L ('\u004C')またはl ('\u006C')を型指定子として文字列の末尾に付けることは、Javaプログラミング言語のソース・コードの場合とは違って許されません。ただし、基数が22以上の桁の数字には、Lまたはlが現われます。
以下に挙げる状況のどれかが発生した場合に、NumberFormatException型の例外がスローされます。
nullであるか、長さゼロの文字列である。
radixがCharacter.MIN_RADIXよりも小さいか、Character.MAX_RADIXよりも大きい。
'-' ('\u002d')またはプラス記号'+' ('\u002B')であってもかまわない。
long型の値ではない。
例
parseLong("0", 10) returns 0L
parseLong("473", 10) returns 473L
parseLong("+42", 10) returns 42L
parseLong("-0", 10) returns 0L
parseLong("-FF", 16) returns -255L
parseLong("1100110", 2) returns 102L
parseLong("99", 8) throws a NumberFormatException
parseLong("Hazelnut", 10) throws a NumberFormatException
parseLong("Hazelnut", 36) returns 1356099454469L
s - 解析対象のlong表現を含むString。radix - sの構文解析時に使用する基数。long値。NumberFormatException - 文字列が解析可能なlongを含まない場合。public static long parseLong(String s) throws NumberFormatException
longとして構文解析します。文字列内の文字はすべて、10進数の桁である必要があります。ただし先頭の文字だけは、負の値を示すASCIIマイナス記号'-' ('\u002D')、正の値を示すASCIIプラス記号'+' ('\u002B')のどちらであってもかまいません。結果となるlong値が返されます。これは、その引数と基数10がparseLong(java.lang.String, int)メソッドに引数として指定された場合とまったく同じです。
L ('\u004C')またはl ('\u006C')を型指定子として文字列の末尾に付けることは、Javaプログラムのソース・コードの場合とは違って許されません。
s - 解析対象のlong表現を含むStringlong。NumberFormatException - 文字列が解析可能なlongを含まない場合。public static long parseUnsignedLong(String s, int radix) throws NumberFormatException
longとして構文解析します。符号なし整数は、通常は負の数値に関連付けられた値を、MAX_VALUEよりも大きい正の数値にマップします。文字列内の文字はすべて、指定された基数の桁である必要があります(Character.digit(char, int)から負でない値が返されるかどうかで判定)。ただし先頭の文字だけは、ASCIIプラス記号'+' ('\u002B')であってもかまいません。結果として得られる整数値を返します。
以下に挙げる状況のどれかが発生した場合に、NumberFormatException型の例外がスローされます。
nullであるか、長さゼロの文字列である。
Character.MIN_RADIXよりも小さいか、Character.MAX_RADIXよりも大きい。
'+' ('\u002B')であってもかまわない。
long(264-1)よりも大きい。
s - 解析対象の符号なし整数表現を含むStringradix - sの構文解析時に使用する基数。long値。NumberFormatException - Stringが解析可能なlongを含まない場合。public static long parseUnsignedLong(String s) throws NumberFormatException
longとして構文解析します。文字列内の文字はすべて、10進数の桁である必要があります。ただし先頭の文字だけは、ASCIIプラス記号'+' ('\u002B')であってもかまいません。結果となる整数値が返されます。これは、その引数と基数10がparseUnsignedLong(java.lang.String, int)メソッドに引数として指定された場合とまったく同じです。s - 解析対象の符号なしlong表現を含むStringlong値。NumberFormatException - 文字列が解析可能な符号なし整数を含まない場合。public static Long valueOf(String s, int radix) throws NumberFormatException
Stringから抽出された値を保持するLongオブジェクトを返します。最初の引数は、2番目の引数で指定された基数内の符号付きlongを表しているとして解釈されます。これは、引数がparseLong(java.lang.String, int)メソッドに渡された場合とまったく同じです。結果は、文字列により指定されたlong値を表すLongオブジェクトになります。
つまり、このメソッドが返すLongオブジェクトの値は、次の値に等しくなります。
new Long(Long.parseLong(s, radix))
s - 解析される文字列radix - 次を解釈するときに使用される基数: sLongオブジェクト。NumberFormatException - Stringが解析可能なlongを含まない場合。public static Long valueOf(String s) throws NumberFormatException
Stringの値を保持するLongオブジェクトを返します。引数は、符号付きの10進数のlong,を表しているとして解釈されます。これは、その引数がparseLong(java.lang.String)メソッドに渡された場合とまったく同じです。生成された結果は、文字列により指定された整数値を表すLongオブジェクトになります。
つまり、このメソッドが返すLongオブジェクトの値は、次の値に等しくなります。
new Long(Long.parseLong(s))
s - 解析される文字列。Longオブジェクト。NumberFormatException - 文字列をlongとして構文解析できない場合。public static Long valueOf(long l)
long値を表すLongインスタンスを返します。新規Longインスタンスが不要な場合、通常このメソッドがコンストラクタLong(long)に優先して使用されます。その理由は、このメソッドが頻繁に要求される値をキャッシュするので、操作に必要な領域や時間がはるかに少なくて済む場合が多いためです。このメソッドが、Integerクラスの対応するメソッドとは異なり、特定範囲内の値をキャッシュする必要がないことに注意してください。l - long値。lを表すLongインスタンス。public static Long decode(String nm) throws NumberFormatException
StringをLongにデコードします。次の文法の10進数、16進数、および8進数を指定できます。
DecimalNumeral、HexDigits、およびOctalDigitsは、『Java(tm)言語仕様』のセクション3.10.1で規定されているとおりですが、桁間のアンダースコアが受け入れられない点は規定と異なります。
- DecodableString:
- Signopt DecimalNumeral
- Signopt
0xHexDigits- Signopt
0XHexDigits- Signopt
#HexDigits- Signopt
0OctalDigits- Sign:
-+
オプションの符号と基数指示子のどちらかまたはその両方に続く文字シーケンス(「0x」、「0X」、「#」、または先頭のゼロ)は、指定された基数(10、16、または8)でLong.parseLongメソッドを使う場合と同じように構文解析されます。この文字シーケンスは正の数でなければならず、そうでない場合はNumberFormatExceptionがスローされます。指定されたStringの最初の文字が負の符号である場合、生成された結果は否定されます。Stringに空白文字を指定することはできません。
nm - デコードするString。nmにより表されるlong値を保持するLongオブジェクトNumberFormatException - Stringが解析可能なlongを含まない場合。parseLong(String, int)public byte byteValue()
Longの縮小プリミティブ変換後の値をbyteとして返します。public short shortValue()
Longの縮小プリミティブ変換後の値をshortとして返します。shortValue、クラス: Numbershort型に変換した値。public int intValue()
Longの縮小プリミティブ変換後の値をintとして返します。public long longValue()
Longの値をlong値として返します。public float floatValue()
Longの拡張プリミティブ変換後の値をfloatとして返します。floatValue、クラス: Numberfloat型に変換した値。public double doubleValue()
Longの拡張プリミティブ変換後の値をdoubleとして返します。doubleValue、クラス: Numberdouble型に変換した値。public String toString()
longの値を表すStringオブジェクトを返します。値は、符号付きの10進数表現に変換され、文字列として返されます。これは、long値がtoString(long)メソッドの引数として指定された場合とまったく同じです。public int hashCode()
Longのハッシュ・コードを返します。生成された結果は、このLongオブジェクトが保持するプリミティブlong値の上位32ビットと下位32ビットの排他的論理和です。すなわち、ハッシュ・コードは次の式の値になります。
(int)(this.longValue()^(this.longValue()>>>32))
hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public static int hashCode(long value)
Long.hashCode()との互換性がある、long値のハッシュ・コードを返します。value - ハッシュ対象の値long値のハッシュ・コード値。public boolean equals(Object obj)
trueになるのは、引数がnullではなく、このオブジェクトと同じlong値を含むLongオブジェクトである場合だけです。equals、クラス: Objectobj - 比較対象のオブジェクト。true、そうでない場合はfalse。Object.hashCode()、HashMappublic static Long getLong(String nm)
long値を判定します。
1番目の引数は、システム・プロパティの名前として扱われます。システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。次にこのプロパティの文字列値が、decodeによってサポートされている文法を使ってlong値として解釈され、この値を表すLongオブジェクトが返されます。
指定された名前を持つプロパティがない場合、指定された名前が空白またはnullの場合、あるいはプロパティが適切な数値形式でない場合は、nullが返されます。
つまり、このメソッドが返すLongオブジェクトの値は、次の値に等しくなります。
getLong(nm, null)
nm - プロパティ名。Long値。SecurityException - System.getPropertyと同じ理由のためSystem.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)public static Long getLong(String nm, long val)
long値を判定します。
1番目の引数は、システム・プロパティの名前として扱われます。システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。次にこのプロパティの文字列値が、decodeによってサポートされている文法を使ってlong値として解釈され、この値を表すLongオブジェクトが返されます。
2番目の引数はデフォルトの値です。指定された名前のプロパティがない場合、該当するプロパティが適切な数値形式でない場合、あるいは指定した名前が空白またはnullの場合は、Longオブジェクトが示す2番目の引数が返されます。
つまり、このメソッドが返すLongオブジェクトの値は、次の値に等しくなります。
getLong(nm, new Long(val))
しかし実際には、次のように実装されます。
この実装により、デフォルトの値が不要な場合に、Long result = getLong(nm, null); return (result == null) ? new Long(val) : result;
Longオブジェクトの余計な割り当てを避けることができます。nm - プロパティ名。val - デフォルト値。Long値。SecurityException - System.getPropertyと同じ理由のためSystem.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)public static Long getLong(String nm, Long val)
long値を返します。1番目の引数は、システム・プロパティの名前として扱われます。システム・プロパティにはSystem.getProperty(java.lang.String)メソッド経由でアクセスできます。次にこのプロパティの文字列値がdecodeメソッドのとおりにlong値として解釈され、この値を表すLong オブジェクトが返されます。要するに次のようになります。
0xまたはASCII文字#で始まり、その後にマイナス符号がない場合は、値の残りはメソッドvalueOf(java.lang.String, int)を基数16で使う場合とまったく同じように16進整数として解析される。
0で始まり、それに別の文字が続く場合、値はvalueOf(java.lang.String, int)メソッドを基数8で使う場合とまったく同じように8進整数として解析される。
valueOf(java.lang.String, int)メソッドを基数10で使う場合とまったく同じように10進整数として構文解析される。
以上のどの場合でも、型指定子としてL ('\u004C')またはl ('\u006C')をプロパティ値の末尾に付けることは、Javaプログラミング言語のソース・コードの場合とは異なり許可されません。
2番目の引数はデフォルトの値です。指定された名前のプロパティがない場合、該当するプロパティが適切な数値形式でない場合、あるいは指定した名前が空白またはnullの場合は、デフォルト値が返されます。
nm - プロパティ名。val - デフォルト値。Long値。SecurityException - System.getPropertyと同じ理由のためSystem.getProperty(java.lang.String), System.getProperty(java.lang.String, java.lang.String)public int compareTo(Long anotherLong)
Longオブジェクトを数値的に比較します。compareTo、インタフェース: Comparable<Long>anotherLong - 比較対象のLong。Longが引数Longと等しい場合は値0、このLongが引数Longより小さい数値の場合は0より小さい値、このLongが引数Longより大きい数値の場合は0より大きい値(符号付きの比較)。public static int compare(long x,
long y)
long値を数値的に比較します。返される値は、次から返される値と同じになります。
Long.valueOf(x).compareTo(Long.valueOf(y))
x - 比較する最初のlongy - 比較する2番目のlongx == yの場合は値0、x < yの場合は0より小さい値、x> yの場合は0より大きい値public static int compareUnsigned(long x,
long y)
long値を符号なしとして処理して数値的に比較します。x - 比較する最初のlongy - 比較する2番目のlongx == yの場合は値0、符号なしの値としてx < yの場合は0より小さい値、符号なしの値としてx> yの場合は0より大きい値public static long divideUnsigned(long dividend,
long divisor)
2の補数計算で、他の3つの基本算術演算(加算、減算、および乗算)は、2つのオペランドがどちらも符号付き、またはどちらも符号なしと見なされる場合、ビット単位で同じであることに注意してください。したがって、個々のaddUnsignedなどのメソッドは提供されません。
dividend - 割られる値divisor - 割る値remainderUnsigned(long, long)public static long remainderUnsigned(long dividend,
long divisor)
dividend - 割られる値divisor - 割る値divideUnsigned(long, long)public static long highestOneBit(long i)
long値の最上位(「もっとも左側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。指定された値が2の補数バイナリ表現の1のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。i - 最上位の1のビットが計算される値long値。指定された値がゼロに等しい場合はゼロ。public static long lowestOneBit(long i)
long値の最下位(「もっとも右側」)の1のビットの位置に最大で1つの1のビットを持つlong値を返します。指定された値が2の補数バイナリ表現の1のビットを持たない場合、つまりゼロに等しい場合はゼロを返します。i - 最下位の1のビットが計算される値long値。指定された値がゼロに等しい場合はゼロ。public static int numberOfLeadingZeros(long i)
long値の2の補数バイナリ表現の最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数を返します。指定された値が2の補数表現の1のビットを持たない場合、つまりゼロに等しい場合は64を返します。
このメソッドは、2を底とする対数に密接に関係しています。すべての正のlong値xの場合、
63 - numberOfLeadingZeros(x)
64 - numberOfLeadingZeros(x - 1)
i - 先行するゼロの数が計算される値long値の2の補数バイナリ表現で最上位(「もっとも左側」)の1のビットに先行するゼロのビットの数。指定された値がゼロに等しい場合は64。public static int numberOfTrailingZeros(long i)
long値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数を返します。指定された値が2の補数表現の1のビットを持たない場合、つまりゼロに等しい場合は64を返します。i - 末尾のゼロの数が計算される値long値の2の補数バイナリ表現で最下位(「もっとも右側」)の1ビットに続くゼロのビットの数。指定された値がゼロに等しい場合は64。public static int bitCount(long i)
long値の2の補数バイナリ表現での、1のビットの数を返します。この関数は、ポピュレーション・カウントと呼ばれる場合があります。i - ビットがカウントされる値long値の2の補数バイナリ表現での、1のビットの数。public static long rotateLeft(long i,
int distance)
long値の2の補数バイナリ表現を指定したビット数だけ左に回転して取得された値を返します。ビットは、左側つまり上位にシフトされ、右側つまり下位に入ります。
負の距離による左回転は、右回転と等価です(rotateLeft(val, -distance) == rotateRight(val, distance))。また、64の倍数による回転は何も行わないため、回転距離の最後の6ビット以外は、距離が負の場合でもすべて無視できることに注意してください(rotateLeft(val, distance) == rotateLeft(val, distance & 0x3F))。
i - ビットが左に回転される値distance - 左に回転するビット位置の数long値の2の補数バイナリ表現を指定されたビット数だけ左に回転して取得した値。public static long rotateRight(long i,
int distance)
long値の2の補数バイナリ表現を指定したビット数だけ右に回転して取得された値を返します。ビットは、右側つまり下位にシフトされ、左側つまり上位に入ります。
負の距離による右回転は、左回転と等価です(rotateRight(val, -distance) == rotateLeft(val, distance))。また、64の倍数による回転は何も行わないため、回転距離の最後の6ビット以外は、距離が負の場合でもすべて無視できることに注意してください(rotateRight(val, distance) == rotateRight(val, distance & 0x3F))。
i - ビットが右に回転される値distance - 右に回転するビット位置の数long値の2の補数バイナリ表現を指定されたビット数だけ右に回転して取得された値。public static long reverse(long i)
long値の2の補数バイナリ表現でビットの順序を逆にして取得された値を返します。i - 逆にされる値long値でバイト順を逆にして取得された値。public static int signum(long i)
long値の符号要素を返します。(指定した値が負の場合、戻り値は -1。指定された値がゼロの場合は0。指定した値が正の場合は1)。i - 符号要素が計算される値long値の符号要素。public static long reverseBytes(long i)
long値の2の補数バイナリ表現でバイトの順序を逆にして取得された値を返します。i - バイトが逆にされる値long値のバイト順を逆にして取得された値。public static long sum(long a,
long b)
long値を加算します。a - 第1オペランドb - 第2オペランドaとbの合計BinaryOperatorpublic static long max(long a,
long b)
Math.maxを呼び出した場合と同様に、2つのlong値の大きいほうを返します。a - 第1オペランドb - 第2オペランドaとbのどちらか大きい方BinaryOperatorpublic static long min(long a,
long b)
Math.minを呼び出した場合と同様に、2つのlong値の小さいほうを返します。a - 第1オペランドb - 第2オペランドaとbのどちらか小さい方BinaryOperator バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.