Javaでビットデータを簡単に扱う方法を探しています。
次のファイルがあるとします。
ファイルは次のフォーマットで構成されています。
固定長40bit×n
1~6bit:未使用
7~8bit:データ型判断用指標
9~24bit:整数1
25~40bit:整数2
9~40bit:整数3
9~40bit:単精度浮動小数点数
この時、次の条件に則ってファイルから数値データを取得します。
データ型判断用指標がオンオンの時、整数1
データ型判断用指標がオンオフの時、整数2
データ型判断用指標がオフオンの時、整数3
データ型判断用指標がオフオフの時、単精度浮動小数点数
上記を出来れば自前でのビット操作を行わずに実装したいという思いがあり、
いわゆるビットフィールド的な物が無いかと探してみたのですが、
なかなかそれらしき物が見つからずに困っています。
ご存知であればお教えいただければ幸いです。
No.1ベストアンサー
- 回答日時:
私ならBitFieldクラスを作成します。
class BitField {
private byte[] データ型判断用指標 = new byte[2];
private byte[] 整数1= new byte[16];
・・・略・・・
public BitField(FileInputStream is) {
// ここでファイルからbitデータを取得し、プロパティに代入
データ型判断用指標 = ・・・略・・・
}
getデータ型判断用指標・・・略・・・
}
略が多いけど
ご回答ありがとうございます。
Javaでbitデータを扱う場合、低レベルな処理を自力で実装せざるを得ないようですね。
今回の要件では1ワード=8bitですので、そのままコピペできるようなサンプルも見つけやすいかと思ったのですが、
それもなかなか見つからずに苦心しております。
一旦、コンバータを挟む等の逃げ道を検討してみようと考えています。
askaaska様の回答から言語仕様・標準ライブラリによるBitField相当機能の提供は無いと判断できましたので、BAとさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- C言語・C++・C# C言語について。 5 2023/06/27 18:37
- 統計学 不偏分散について 3 2022/03/29 15:57
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) エクセル 任意の列数で分割する方法 3 2022/07/31 14:58
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- 統計学 統計学 このデータはある母集団からとった標本である 42 41 48 40 45 37 43 47 4 2022/12/23 01:29
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
- C言語・C++・C# C言語初心者 構造体 課題について 1 2023/03/10 19:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
tmpファイル なぜできる?削除...
-
Access VBA を利用して、フォル...
-
一時ファイルが消えない。
-
access関数を説明できる方いま...
-
Androidのマルチユーザーでモン...
-
excelを共有ファイルにすると行...
-
社内Excel共有ブックでの保存ト...
-
特定のエクセルファイルを起動...
-
(Excelマクロ)datファイルをエ...
-
Accessセキュリティ設定でのバ...
-
スクリーンセーバーの「テクス...
-
HTMLとデータベースの連携
-
テキストファイルからデータを...
-
事務の派遣で働いています。多...
-
AccessVBAで作成したExcelファ...
-
Excel VBA 処理後データが重た...
-
エクセルのファイルを,VB....
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
月が変わったら自動でシートが...
-
tmpファイル なぜできる?削除...
-
AccessVBAで作成したExcelファ...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
事務の派遣で働いています。多...
-
Excel VBA 処理後データが重た...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
XMLデータを変換し印刷する方法
-
CSVの項目行を削除して一つのフ...
-
mdbファイル フォームを開くと...
-
社内Excel共有ブックでの保存ト...
-
ファイルの途中に文字列を挿入
-
拡張子が「cda」のファイルを聞...
おすすめ情報