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