- ベストアンサー
bit単位でのデータ読み込みプログラム
現在、気象庁のradarAMeDAS解析雨量データの抽出プログラムを作っています。 radarAMeDAS解析雨量データはランレングス圧縮技術を使用しています。 メタデータはバイト単位のバイナリ形式で読み込みは簡単なのですが、データ部(雨量値)はbit単位での読み取りが必要で、どのようにbit単位で読む込むのか分からず困っています。 どなたかbit単位での読み取りが出来るプログラムの作成方法をご存知の方はいませんか? ちなみに当方は現在fortranでのプログラミングした出来ないため、出来ればfortranでの方法をご教授願えれば幸いです。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- バイナリファイルをバイト単位でアクセスするには?
大サイズのバイナリファイルに対して、perlでチェックサムを調べたりCRCチェックをかけるプログラムを作成したいと考えています。従って、そのバイナリファイルからバイト単位でデータを取り出して、計算するということをしなければならないのですが、いちばん基本的なところの、『バイナリファイルからバイト単位で順番にデータを取り出す方法』がわかりません。 よろしくお願いします。
- ベストアンサー
- Perl
- 【fortran77】空行を含む数値データの読み込み
fortran77でプログラムを書いています。 いま以下のような空行を含むデータファイルを読み込んで、プログラム中で計算し、その結果を別のファイルに書き出すものを作りたいと考えています。 1.0 1.1 1.2 1.3 1.0 1.4 1.5 1.6 2.0 2.1 2.2 2.3 2.0 2.4 2.5 2.6 3.0 3.1 3.2 3.3 3.0 3.4 3.5 3.6 *数字はあくまでも例です。 例えば、1列目が2.0で始まる箇所のみ取り出したいのですが、どうもデータの読み込みのところでエラーが起こっているようです。 open(1,file="data.dat") do i = 1,8 read(1,*) (a(i,j),j=1,4) enddo 空行や空白の読み飛ばしを行う方法を自分なりに調べてみて、open文にblankを指定するなどの方法があることはわかったんですが、いまいち使いかたがわからず立ち止まってしまいました。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- FORTRANでGUIプログラム
FORTRANでGUIプログラム FORTRANでGUIを持ったWINアプリを作成することは不可能でしょうか? 現在自作でFEMプログラムをつくっています。入力ファイルはその度簡単なプログラムをつくって作成するか,汎用のプリプロセッサを利用しています。解析結果は自作で応力図などをeps形式で可視化してはきだすようにしていますが,市販のプログラムのように,画面上で節点や要素を作成していき,それがリアルタイムに画面に表示されて,入力ファイル作成から解析,後処理までをすべてマウス操作でできるようにしたいです。 C++ではできることは分かるのですが,FORTRANしか使ったことないので,FORTRANで作りたいと思っているのですが,やはり数値解析以外のことはFORTRANでやるのは無理なのでしょうか?FORTRANでプリプロセッサが自作できるかどうか,もし可能なら参考書籍などがあれば教えていただきたいです。よろしくお願いします。
- 締切済み
- その他(プログラミング・開発)
- 32bitパソコンのデータを64bitパソコンで使えますか?
32bitパソコンのデータを64bitパソコンで使えますか? 現在、Win XP 32bitのパソコンを使用しています。Win7 64bitのパソコンを購入した場合、32bitのパソコンで作成した各種データ(ACCESS、EXCEL、JPG画像等)は使用(表示、加工処理等)出来なくなるのでしょうか。使用出来ない場合、その対処方法もご指導下さい。
- ベストアンサー
- デスクトップPC
- プログラムの発散
お忙しいところすみません. 現在,私は大学院生で,研究でfortranを 使用しています. 解析のためにプログラムを組んでいるのですが発散がおき,なかなか研究が進みません. 理論的に間違えているのか,プログラムの組み方が悪いのか,わからずに困っています. これが解決すれば研究が進むのですが・・・ そこでみなさんに質問です.このような経験をされ,見事解決された方いましたらその体験談をお聞かせ願いたいのですが. 暇な時に回答していただいて結構です.
- ベストアンサー
- その他(プログラミング・開発)
- バイナリファイルの読み込みについて
java初心者です。 今バイナリファイルの読み込みを行っているのですがバイナリファイルのデータの値とプログラムで読み込んだ値が違っているので困っています。 バイナリファイルはASCIIテキストになっていてデータを見ることができ中身は -0.00012 -0.00009 -0.00009 -0.00012 -0.00009 -0.00009 -0.00009 -0.00012 ・・・・・・・(値が続くという意味です) となっています。 作ったプログラムは import java.io.*; class a { public static void main(String[] args) { try { FileInputStream in = new FileInputStream("file name"); int ch; while ((ch = in.read()) != -1) { System.out.println(ch); } in.close(); } catch (IOException e) { System.out.println(e); } } } で作って読み込んでみたのですが出力された値は 45 48 46 48 48 48 49 50 ・・・・・・ になってしまいます。 どのようにしたら値が等しくなるのでしょうか。教えてください。
- ベストアンサー
- Java
- バイナリ読み込みについて
お世話になります。バイナリファイルの読み込みについて質問させてください。 バイナリファイルはC#で出力したものでushort型(符号無し16bit)で書き込んでいます。 //C#でushort型データのバイナリ書き込み例 private static void WriteBinary(){ ushort data=5000; BinaryWriter bw = new BinaryWriter(new FileStream(@"C:\Binary.txt", FileMode.Create, FileAccess.Write)); bw.Write(data); bw.Close(); } これをJavaで読んで、書き込んだ値5000を取得したいのですが、 C#のushortは符号無しの2Byteなんので、Javaでそれに相当するように readUnsignedShortで読み込んだのですがうまくいきません。どなたかご教授ください。 //Javaでushort型データのバイナリ読み込み private static void ReadBinary(){ DataInputStream dis = new DataInputStream(new FileInputStream("C:\\Binary.txt")); int data = dis.readUnsignedShort(); System.out.println(data); } すると「34835」と表示されます。その他、readShort()→-30701 read(byte[2])として byteに格納してbyte[0]と[1]を足しても-101になり取得できませんでした。 保存されたデータは符号なしの16ビットなのでreadUnsignedShort()で取得できると 思ったのですが、何か根本的に考え方が違うのでしょうか?? ※もちろんC#でReadInt16で読み取ると正常に5000を取得できした。
- ベストアンサー
- Java
- データの数を数えるfortran プログラム
横にm個、縦にn個の実数データが整然と並んでいます。ファイルを開いて読み込むのですが、縦横に何個のデータがあるかプログラムに感知させる方法があるでしょうか。 縦にn個のデータがあることは簡単でした。しかし横にm個あることを感知させるのが難しいです。今は、とにかく全データの個数を調べて、その個数をnで割って求めています。 全データを読む方はは、1個読んで巻き戻し、2個読んで巻き戻し、3個読んで巻き戻し、.... としてデータをこれ以上読めないというところまで読んでその個数が全データということになります。この部分がかなり時間を使います。データを開いてエディタで1行目のカラム数を数えればいいわけですが、プログラム的にはどうなるでしょうか。Cだったら、改行を感知させるという方法があるかもしれません。Fortranだったらどうなるでしょうか。 ※Fotranの専門の会議室がないのかなと思っていますが。
- 締切済み
- C・C++・C#
- 気象データを得るには?
過去から現在の気温や湿度などの気象データを取得し、グラフで表示させるプログラムを作りたいと思っているのですが、無料で気象データを提供しているサイトはあるでしょうか?できれば加工しやすいデータをお願いしたいです。 よろしくお願いします。
- 締切済み
- Java
- FORTRAN77で作ったプログラムを開くとバイナリファイルと認定され、編集できません
FORTRAN77を最近勉強し始めました(プログラミング自体が超初心者です)。 ネットで情報を集め、コンパイラーはFTN77、エディタはCPadというフリーソフトを インストールし、実際にプログラムを作って実行してみたました。 一応は上手くいったみたいなのですが(非常に簡単な計算なので)、 いったんエディタを閉じて再び開いてみると、 「ファイル~~~はバイナリファイルと判定されました。無視して開きますか?」 という警告が出て、開いてみると意味不明な文字列が書いてあるだけで もともと何が書いてあったかわかりません。 どうしてこのようなことになってしまうのでしょうか?
- ベストアンサー
- その他(プログラミング・開発)
お礼
お礼が遅くなりすみません。fortran90以上だとbit演算が出来るんですね。 >本当のプロはCOBOLでもFORATRANでも手立てを講じることが出来ます。 道のりは遠いですが、目指したいです。 ありがとうございました。