言語

ByteBuffer.AlignmentOffset(Int32, Int32) メソッド

定義

指定したインデックス位置のバイトを指し、指定された単位サイズの剰余を示すメモリ アドレスを返します。

[Android.Runtime.Register("alignmentOffset", "(II)I", "", ApiSince=33)]
public int AlignmentOffset(int index, int unitSize);
[<Android.Runtime.Register("alignmentOffset", "(II)I", "", ApiSince=33)>]
member this.AlignmentOffset : int * int -> int

パラメーター

index
Int32

配置オフセットのクエリを実行するインデックスは負でない必要があり、上限チェックは実行されません

unitSize
Int32

単位サイズ (バイト単位) は、次の累乗である必要があります。 2

返品

インデックス付きバイトのメモリ アドレスの単位サイズの剰余

属性

注釈

指定したインデックス位置のバイトを指し、指定された単位サイズの剰余を示すメモリ アドレスを返します。

戻り値は、 0 (包括) から unitSize (排他) までの範囲では負以外であり、ゼロはインデックスのバイトのアドレスが単位サイズに合わせられ、アドレスが単位サイズに合わせて正の値に揃えされていないことを示します。 インデックスのバイトのアドレスがずれている場合、戻り値は、アラインされたアドレスでバイトを見つけるためにインデックスを調整する必要がある量を表します。 具体的には、後者が indexより大きくない場合は、インデックスを戻り値でデクリメントするか、単位サイズから戻り値を引いた値でインクリメントする必要があります。 したがって、 <blockquote>

int value = alignmentOffset(index, unitSize)

</blockquote> 次に ID <blockquote>

alignmentOffset(index - value, unitSize) == 0, value &le; index

</blockquote> および <blockquote>

alignmentOffset(index + (unitSize - value), unitSize) == 0

</blockquote> を保持する必要があります。

9 に追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象