Javaでビットデータを簡単に扱う方法を探しています。

次のファイルがあるとします。
ファイルは次のフォーマットで構成されています。
固定長40bit×n
1~6bit:未使用
7~8bit:データ型判断用指標
9~24bit:整数1
25~40bit:整数2
9~40bit:整数3
9~40bit:単精度浮動小数点数

この時、次の条件に則ってファイルから数値データを取得します。
データ型判断用指標がオンオンの時、整数1
データ型判断用指標がオンオフの時、整数2
データ型判断用指標がオフオンの時、整数3
データ型判断用指標がオフオフの時、単精度浮動小数点数

上記を出来れば自前でのビット操作を行わずに実装したいという思いがあり、
いわゆるビットフィールド的な物が無いかと探してみたのですが、
なかなかそれらしき物が見つからずに困っています。

ご存知であればお教えいただければ幸いです。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

私ならBitFieldクラスを作成します。



class BitField {
private byte[] データ型判断用指標 = new byte[2];
private byte[] 整数1= new byte[16];
・・・略・・・
public BitField(FileInputStream is) {
// ここでファイルからbitデータを取得し、プロパティに代入
データ型判断用指標 = ・・・略・・・
}
getデータ型判断用指標・・・略・・・
}

略が多いけど
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
Javaでbitデータを扱う場合、低レベルな処理を自力で実装せざるを得ないようですね。
今回の要件では1ワード=8bitですので、そのままコピペできるようなサンプルも見つけやすいかと思ったのですが、
それもなかなか見つからずに苦心しております。
一旦、コンバータを挟む等の逃げ道を検討してみようと考えています。
askaaska様の回答から言語仕様・標準ライブラリによるBitField相当機能の提供は無いと判断できましたので、BAとさせていただきます。
ありがとうございました。

お礼日時:2011/04/28 17:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング

おすすめ情報