こんにちは。
C言語でいうunsigned long型のデータを扱う場合、どのように変数を宣言したら
いいでしょうか?
現在、wmaのファイルを開いてファイル情報を表示するプログラムを作成中ですが、
再生時間がunsigned long(Hex 4Byte)のデータで格納されているので、Long型の
変数に格納しようとするとオーバーフローになってしまいます。
つまり、再生時間(100us単位)のデータを秒単位に変換したいのです。
よろしくお願いします。
VBではunsigned型のLong変数はありませんので目的により
自分で扱えるように工夫するしかありません。
一例を書いておきます
Dim lngA As Long
Dim dblB As Double
lngA = &HFFFFFFFF
dblB = lngA And &H7FFFFFFF
If lngA And &H80000000 Then
dblB = dblB + CDbl(2 ^ 31)
End If
Debug.Print dblB
連絡が遅くなってすみません。
ABCさんの方法でうまくいきました。
ありがとうございました。
ツイート | ![]() |