1. ホーム
  2. java

[解決済み] 16ビットオフセットと24ビットオフセットとはどういう意味ですか?Javaでそのような計算をするにはどうすればよいですか?

2022-02-18 23:25:03

質問事項

列が構造体への16ビットオフセットを指定し、別の列が構造体への24ビットオフセットを指定する、という仕様があります。私はjavaを使ってこの仕様を実装しています。 16ビットオフセット/24ビットオフセットの意味と、javaでそのような操作を行う方法がよくわかりません。

どのように解決するのですか?

オフセットとは、あるストリームおよび/または記憶媒体における相対的なアドレスのことである。

16ビットオフセットは、16ビット変数/スロットに格納されるオフセットです。

つまり、ファイルフォーマットの仕様で「次のフィールドは16ビットオフセット」となっている場合は、次の2バイトを読み込んで相対アドレスとして扱わなければならない、ということです。

まさに バイトかもしれないし、quot;entries"かもしれないし、その他かもしれない。

また、Javaには24ビットのデータ型が組み込まれていないことにも注意してください。 int 32ビットである。