バイナリデータをはじめて扱う初心者です。
バイナリデータファイルからデータを読み出したいと思います。
環境はWindowsXPとLabView7.1です。
バイナリエディタで見てみると、
E8 03
と格納されている、2バイトshort型のデータがあります。
LabView7.1を使って、E8 03 という配列要素を読み出すことまではできました。
次に、この値を10進数で表現すると、いくつになれば正解なのでしょうか?
(E8 03 という値をどのように計算して10進数にすればいいのでしょうか?)
私なりにプログラムした結果、-24か232のどちらかだと思うのですが自信がありません。
(データ自体が計測器が吐き出したデータなので、どのような値が入っているかわからないのです。
LabViewがビックエンディアンを使っていることも、正解に自信が持てない一因です)
バイナリエディタで10進数に変換してくれるようなツールがあれば一番いいのですが。
ご存知の方がいらっしゃいましたら、ご教授ください。
No.2
- 回答日時:
1.LabViewがビックエンディアンを使っている。
従ってビッグエンディアン形式で格納している。2.E803は2バイトshort型である。
上記のことが、成立するという前提ですが、その場合は、
-6141になります。符号無し(unsigend short型)なら59395になります。
つまり、short型(符号付き2バイト整数)のE803(ビッグエンディアン形式)は、-6141になります。
ちなみに、E8単独(1バイト)では、符号無しで、232になり、符号付きで、-24となります。但しこれは、1バイトですから、unsigned char型又はchar型に相当します。
説明不足ですみません。
バイナリファイルを吐き出しているプログラムは、たぶんリトルエンディアンで格納しています。
ただし、コンパイルされているため、中身がわからず、データから類推しようとしていた次第です。
No.1
- 回答日時:
計測器の吐き出す仕様によると思いますが。
E8が上位バイトなのか、下位バイトなのか。データ長は何バイトなのか、符号ビットはあるのか無いのか又はどこにあるのか。BCDで見ればよいのか、パック形式でデータは格納されているのか。
で全然異なります。
XPなら電卓で10進<->16進変換はできますね。
電卓が利用できるとは、うっかり忘れていました。
普通に、16^3*E+16^2*8+16^1*0+16^0*3 とすればよかったのですね。
仕様がわからないので、データから読み解いていこうと思っていました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- 数学 賃料と専有面積のデータが60部屋分ほどがあり、 賃料÷専有面積(=1㎡あたりの賃料)の数式で計算する 2 2023/02/18 20:33
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- 物理学 測定データの読み方について教えて下さい 6 2023/07/09 16:43
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArrayListの要素数の上限
-
ダブルクォーテーションを含む...
-
javaというか文字列について少...
-
hiddenの値を消したくない!
-
wsprintf関数の使い方について
-
matchesを否定文として使う方法...
-
JSPでの計算結果表示
-
Javascriptでマシン固有の情報...
-
VB6,論理演算子Orの使い方がわ...
-
C言語の変数(LSB)の合わせ込...
-
直し方について教えて頂きたい...
-
Evaluate()に文字列の形式の数...
-
実行シェルからCOBOLへパラメー...
-
テキストボックスの数値チェック
-
(Javaで)第1コマンドライン...
-
String型の値が大文字か小文字...
-
初回のスピンボタンの挙動
-
文字列で読み込んだ計算式で値...
-
excel vba 時間計算と条件分岐...
-
javaのCSVデータ読込についてです
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ダブルクォーテーションを含む...
-
wsprintf関数の使い方について
-
javaのCSVデータ読込についてです
-
ArrayListの要素数の上限
-
特定の文字列を複数抜き出した...
-
Stringクラスの変数の格納アド...
-
結合した文字列をファイル名に...
-
BCD形式で時刻を!
-
DateTimePickerに値を入れたい...
-
Evaluate()に文字列の形式の数...
-
実行シェルからCOBOLへパラメー...
-
hiddenの値を消したくない!
-
DOSバッチで変数の値を変数名に...
-
C言語の変数(LSB)の合わせ込...
-
excel vba 時間計算と条件分岐...
-
Javaの問題なのですが、「3文字...
-
matchesを否定文として使う方法...
-
8桁整数を限りなく短い文字列に...
-
JSPでの計算結果表示
-
指定した日付が何日前なのかを...
おすすめ情報